new CompareGenerator(ACC_PUBLIC | ACC_FINAL,
new CompareGenerator(ACC_PUBLIC | ACC_STATIC,
    private static Method compileClassInit(Vector sortObjects,					   NodeSortRecordGenerator sortRecord,					   ConstantPoolGen cpg,					   String className) {	// Class initializer - void NodeSortRecord.<clinit>();	final InstructionList il = new InstructionList();	final CompareGenerator classInit =	    new CompareGenerator(ACC_PUBLIC | ACC_FINAL,				 org.apache.bcel.generic.Type.VOID, 				 new org.apache.bcel.generic.Type[] { },				 new String[] { },				 "<clinit>", className, il, cpg);	final int initLocale =  cpg.addMethodref("java/util/Locale",						 "<init>",						 "(Ljava/lang/String;"+						 "Ljava/lang/String;)V");		final int getCollator = cpg.addMethodref(COLLATOR_CLASS,						 "getInstance",						 "(Ljava/util/Locale;)"+						 COLLATOR_SIG);	final int setStrength = cpg.addMethodref(COLLATOR_CLASS,						 "setStrength", "(I)V");	final int levels = sortObjects.size();	/*	final int levelsField = cpg.addFieldref(className, "_levels", "I");	il.append(new PUSH(cpg, levels));	il.append(new PUTSTATIC(levelsField));	*/	// Compile code that initializes the locale	String language = null;	String country = null;	Sort sort = (Sort)sortObjects.elementAt(0);	for (int level = 0; level < levels; level++) {	    if (language == null && sort._lang != null)		language = sort._lang;	    if (country == null && sort._country != null)		country = sort._country;	}	// Get index to private static reference in NodeSortRecrd	final int collator =	    cpg.addFieldref(className, "_collator", COLLATOR_SIG);	if (language != null) {	    // Create new Locale object on stack	    il.append(new NEW(cpg.addClass("java/util/Locale")));	    il.append(DUP);	    il.append(new PUSH(cpg, language));	    il.append(new PUSH(cpg, (country != null ? country : EMPTYSTRING)));	    il.append(new INVOKESPECIAL(initLocale));	    	    // Use that Locale object to get the required Collator object	    il.append(new INVOKESTATIC(getCollator));	    il.append(new PUTSTATIC(collator));	}	il.append(new GETSTATIC(collator));	il.append(new ICONST(Collator.TERTIARY));	il.append(new INVOKEVIRTUAL(setStrength));	il.append(RETURN);	classInit.stripAttributes(true);	classInit.setMaxLocals();	classInit.setMaxStack();	classInit.removeNOPs();	return classInit.getMethod();    }