code: public static Class<?> getUserClass(Class<?> clazz) {
          if (clazz.getName().contains(CGLIB_CLASS_SEPARATOR)) {
              Class<?> superclass = clazz.getSuperclass();
              if (superclass != null && Object.class != superclass) {
                  return superclass;
              }
          }
          return clazz;
      }
docs: Return the user-defined class for the given class: usually simply the given
  class, but the original class in case of a CGLIB-generated subclass.
  
  @param clazz the class to check
  @return the user-defined class