code: public static ClassInfo of(Class<?> underlyingClass, boolean ignoreCase) {
      if (underlyingClass == null) {
        return null;
      }
      final Map<Class<?>, ClassInfo> cache = ignoreCase ? CACHE_IGNORE_CASE : CACHE;
      ClassInfo classInfo;
      synchronized (cache) {
        classInfo = cache.get(underlyingClass);
        if (classInfo == null) {
          classInfo = new ClassInfo(underlyingClass, ignoreCase);
          cache.put(underlyingClass, classInfo);
        }
      }
      return classInfo;
    }
docs: Returns the class information for the given underlying class.
  
  @param underlyingClass underlying class or {@code null} for {@code null} result
  @param ignoreCase whether field names are case sensitive
  @return class information or {@code null} for {@code null} input
  @since 1.10