if (hasNodeSetDTMArgs() || hasReferenceArgs()) {
if (hasNodeSetArgs() || hasReferenceArgs()) {
    public void translate(ClassGenerator classGen, MethodGenerator methodGen) {	if (hasNodeSetDTMArgs() || hasReferenceArgs()) {	    final ConstantPoolGen cpg = classGen.getConstantPool();	    final InstructionList il = methodGen.getInstructionList();	    // Call compare() from the BasisLibrary	    _left.translate(classGen, methodGen);	    _left.startResetIterator(classGen, methodGen);	    _right.translate(classGen, methodGen);	    _right.startResetIterator(classGen, methodGen);	    il.append(new PUSH(cpg, _op));	    il.append(methodGen.loadContextNode());	    il.append(methodGen.loadDOM());	    int index = cpg.addMethodref(BASIS_LIBRARY_CLASS, "compare",					 "("					 + _left.getType().toSignature() 					 + _right.getType().toSignature()					 + "I"					 + NODE_SIG					 + DOM_INTF_SIG					 + ")Z");	    il.append(new INVOKESTATIC(index));	}	else {	    translateDesynthesized(classGen, methodGen);	    synthesize(classGen, methodGen);	}    }