code: public static int deepHashCode(final Object obj) {
          if (obj == null) {
              return 0;
          }
  
          if (obj.getClass().isArray()) {
              return typeOf(obj.getClass()).deepHashCode(obj);
          }
  
          return obj.hashCode();
      }
docs: Method deepHashCode.
  
  @param obj
  @return int