code: public static boolean hasProperty(Object obj, String name) {
  		if (obj == null || name == null)
  			return false;
  
  		String[] names = name.split("\\.");
  		if (names == null || names.length == 0)
  			return false;
  
  		return performHasProperty(obj, names, 0);
  	}
docs: Checks recursively if object or its subobjects has a property with specified
  name.
  
  The object can be a user defined object, map or array. The property name
  correspondently must be object property, map key or array index.
  
  @param obj  an object to introspect.
  @param name a name of the property to check.
  @return true if the object has the property and false if it doesn't.