docs: public static Map<String, Object> getProperties(Object obj) {
  		Map<String, Object> properties = new HashMap<String, Object>();
  
  		if (obj == null) {
  			return properties;
  		} else {
  			List<Object> cycleDetect = new ArrayList<Object>();
  			performGetProperties(obj, null, properties, cycleDetect);
  			return properties;
  		}
  	}