docs: @SuppressWarnings("rawtypes")
  	public static HashMap<Object, Object> of(Object[] array) {
  		if (array == null) {
  			return null;
  		}
  		final HashMap<Object, Object> map = new HashMap<>((int) (array.length * 1.5));
  		for (int i = 0; i < array.length; i++) {
  			Object object = array[i];
  			if (object instanceof Map.Entry) {
  				Map.Entry entry = (Map.Entry) object;
  				map.put(entry.getKey(), entry.getValue());
  			} else if (object instanceof Object[]) {
  				final Object[] entry = (Object[]) object;
  				if (entry.length > 1) {
  					map.put(entry[0], entry[1]);
  				}
  			} else if (object instanceof Iterable) {
  				Iterator iter = ((Iterable) object).iterator();
  				if (iter.hasNext()) {
  					final Object key = iter.next();
  					if (iter.hasNext()) {
  						final Object value = iter.next();
  						map.put(key, value);
  					}
  				}
  			} else if (object instanceof Iterator) {
  				Iterator iter = ((Iterator) object);
  				if (iter.hasNext()) {
  					final Object key = iter.next();
  					if (iter.hasNext()) {
  						final Object value = iter.next();
  						map.put(key, value);
  					}
  				}
  			} else {
  				throw new IllegalArgumentException(StrUtil.format("Array element {}, '{}', is not type of Map.Entry or Array or Iterable or Iterator", i, object));
  			}
  		}
  		return map;
  	}