@SuppressWarnings("unchecked")
    public static <T> Set<T> getNominalSet(Class< T> classdef) {
        if (classdef == null) {
            return null;
        }
        Class<?> classdef2 = getWrapper(classdef);
        if (classdef2 == Boolean.class) {
            return (Set<T>) BooleanSet.Instance;
        } else if (classdef2 == Character.class) {
            return (Set<T>) CharacterSet.Instance;
        } else if (classdef2 == Byte.class) {
            return (Set<T>) ByteSet.Instance;
        } else if (classdef2.isEnum()) {
            HashSet<T> res = new HashSet<>(Arrays.asList(classdef.getEnumConstants()));
            return res;
        } else {
            return null;
        }
    }