code: public static <T extends Enum<T> & RichEnum<T>> RichEnumConstants<T> richConstants(Class<T> theClass) {
          return new RichEnumConstants<>(theClass);
      }
docs: The factory method
  @param theClass the enum class
  @param <T> the enum type
  @return the rich enum companion class instance