public LazyMethodGen extractMethod(String newMethodName) {
public LazyMethodGen extractMethod(String newMethodName, int visibilityModifier, ShadowMunger munger) {
    public LazyMethodGen extractMethod(String newMethodName) {		LazyMethodGen.assertGoodBody(range.getBody(), newMethodName);        if (!getKind().allowsExtraction()) throw new BCException();        LazyMethodGen freshMethod = createMethodGen(newMethodName);//        System.err.println("******");//        System.err.println("ABOUT TO EXTRACT METHOD for" + this);//        enclosingMethod.print(System.err);//        System.err.println("INTO");//        freshMethod.print(System.err);//        System.err.println("WITH REMAP");//        System.err.println(makeRemap());                range.extractInstructionsInto(freshMethod, makeRemap(),         	(getKind() != PreInitialization) && 	        isFallsThrough());   		if (getKind() == PreInitialization) {			addPreInitializationReturnCode(				freshMethod,				getSuperConstructorParameterTypes());		}        getEnclosingClass().addMethodGen(freshMethod);                return freshMethod;    }