code: @SuppressWarnings("unchecked")
      public final Class<E> getDeclaringClass() {
          Class<?> clazz = getClass();
          Class<?> zuper = clazz.getSuperclass();
          return (zuper == Enum.class) ? (Class<E>)clazz : (Class<E>)zuper;
      }
docs: Returns the Class object corresponding to this enum constant's
  enum type.  Two enum constants e1 and  e2 are of the
  same enum type if and only if
  e1.getDeclaringClass() == e2.getDeclaringClass().
  (The value returned by this method may differ from the one returned
  by the {@link Object#getClass} method for enum constants with
  constant-specific class bodies.)
  
  @return the Class object corresponding to this enum constant's
  enum type