public static TypeType arrayElementTypeFor(ClassData classData) {
        if (classData == refArrayClassData) {
            return TypeType.REF;
        } else if (classData == boolArrayClassData) {
            return TypeType.BOOLEAN;
        } else if (classData == byteArrayClassData) {
            return TypeType.BYTE;
        } else if (classData == charArrayClassData) {
            return TypeType.CHAR;
        } else if (classData == shortArrayClassData) {
            return TypeType.SHORT;
        } else if (classData == intArrayClassData) {
            return TypeType.INT;
        } else if (classData == longArrayClassData) {
            return TypeType.LONG;
        } else if (classData == floatClassData) {
            return TypeType.FLOAT;
        } else if (classData == doubleClassData) {
            return TypeType.DOUBLE;
        } else {
            throw new IllegalArgumentException();
        }
    }