} else if (object instanceof Map<?, ?>) {
return ((Map<?, ?>)object).entrySet().iterator();
} else if (object instanceof Object[]) {
return new ObjectArrayIterator<Object>((Object[]) object);
} else if (object instanceof int[]) {
return new IntArrayIterator((int[]) object);
} else if (object instanceof long[]) {
return new LongArrayIterator((long[]) object);
} else if (object instanceof float[]) {
return new FloatArrayIterator((float[]) object);
} else if (object instanceof double[]) {