public static BitSet typeToSet(final Type type) {
		final BitSet v = new BitSet(ClassHierarchy.MAX_INT);
		int lo;
		int hi;

		if (type.equals(Type.INTEGER)) {
			lo = ClassHierarchy.MIN_INT;
			hi = ClassHierarchy.MAX_INT;

		} else if (type.equals(Type.CHARACTER)) {
			lo = ClassHierarchy.MIN_CHAR;
			hi = ClassHierarchy.MAX_CHAR;

		} else if (type.equals(Type.SHORT)) {
			lo = ClassHierarchy.MIN_SHORT;
			hi = ClassHierarchy.MAX_SHORT;

		} else if (type.equals(ClassHierarchy.POS_SHORT)) {
			lo = ClassHierarchy.ZERO;
			hi = ClassHierarchy.MAX_SHORT;

		} else if (type.equals(Type.BYTE)) {
			lo = ClassHierarchy.MIN_BYTE;
			hi = ClassHierarchy.MAX_BYTE;

		} else if (type.equals(ClassHierarchy.POS_BYTE)) {
			lo = ClassHierarchy.ZERO;
			hi = ClassHierarchy.MAX_BYTE;

		} else if (type.equals(Type.BOOLEAN)) {
			lo = ClassHierarchy.ZERO;
			hi = ClassHierarchy.MAX_BOOL;

		} else {
			throw new RuntimeException();
		}

		for (int i = lo; i <= hi; i++) {
			v.set(i);
		}

		return v;
	}