package p;

public enum TestEnum {

	FIRST_ENUM("first type",
	           new SomeClass(),
	           new OtherEnumType[] { OtherEnumType.FOO }),

	SECOND_ENUM("second type",
	            new SomeClassOtherClass(),
	            new OtherEnumType[] { OtherEnumType.BAR }),

	THIRD_ENUM("third type",
	           new SomeThirdClass(),
	           new OtherEnumType[] { OtherEnumType.BAZ }),

	FOURTH_ENUM("fourth type",
	            new YetAnotherClass(),
	            new OtherEnumType[] { OtherEnumType.FOOBAR,
	                                  OtherEnumType.FOO,
	                                  OtherEnumType.FOOBARBAZ,
	                                  OtherEnumType.LONGERFOOBARBAZ,
	                                  OtherEnumType.REALLYLONGFOOBARBAZ,
	                                  OtherEnumType.MORELETTERSINHERE });

	/* data members and methods go here */
	TestEnum(String s, Cls s1, OtherEnumType[] e) {
	}
}

enum OtherEnumType {
                    FOOBAR,
                    FOOBARBAZ,
                    FOO,
                    LONGERFOOBARBAZ,
                    REALLYLONGFOOBARBAZ,
                    MORELETTERSINHERE,
                    BAR,
                    BAZ
}

class Cls {
}

class SomeClass extends Cls {
}

class SomeThirdClass extends Cls {
}

class SomeClassOtherClass extends Cls {
}

class YetAnotherClass extends Cls {
}