In debug builds I'm getting only Java.Util.AbstractSet as parameter.
In release builds it first invokes with Java.Util.AbstractSetInvoker (seems to be same as Java.Util.AbstractSet?) and after that with Android.Runtime.JavaSet. When last hotspot is removed from context I'm getting Java.Lang.Object.
My workaround:
if (p0 is IIterable) {
enumerable = (p0 as IIterable).Iterator().GetEnumerable<IProximityZoneContext>();
} else if (p0 is IEnumerable) {
enumerable = (p0 as IEnumerable).OfType<IProximityZoneContext>();
} else {
enumerable = Enumerable.Empty<IProximityZoneContext>();
}