code: public static int reflectionsHashCode(Object object, String... excludeFields) {
  		return org.apache.commons.lang3.builder.HashCodeBuilder.reflectionHashCode(object, excludeFields);
  	}
docs: <p>
  Uses reflection to build a valid hash code from the fields of object.
  </p>
  
  <p>
  This constructor uses two hard coded choices for the constants needed to
  build a hash code.
  </p>
  
  <p>
  It uses AccessibleObject.setAccessible to gain access to private fields.
  This means that it will throw a security exception if run under a
  security manager, if the permissions are not set up correctly. It is also
  not as efficient as testing explicitly.
  </p>
  
  <p>
  Transient members will be not be used, as they are likely derived fields,
  and not part of the value of the Object.
  </p>
  
  <p>
  Static fields will not be tested. Superclass fields will be included. If
  no fields are found to include in the hash code, the result of this
  method will be constant.
  </p>
  
  @param object
  the Object to create a hashCode for
  @param excludeFields
  array of field names to exclude from use in calculation of
  hash code
  @return hash code
  @throws IllegalArgumentException
  if the object is null