code: public static Class<?> getUserClass(Class<?> clazz) {
  		if (clazz != null && clazz.getName().contains(CGLIB_CLASS_SEPARATOR)) {
  			Class<?> superClass = clazz.getSuperclass();
  			if (superClass != null && !Object.class.equals(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