il1.append(fact.createReturn(Type.VOID));
il1.append(InstructionFactory.createReturn(Type.VOID));
	private boolean mungeNewField(BcelClassWeaver weaver, NewFieldTypeMunger munger) {		ResolvedMember initMethod = munger.getInitMethod(aspectType);				LazyClassGen gen = weaver.getLazyClassGen();		ResolvedMember field = munger.getSignature();						ResolvedTypeX onType = weaver.getWorld().resolve(field.getDeclaringType());		boolean onInterface = onType.isInterface();				if (onType.equals(gen.getType())) {			if (onInterface) {				LazyMethodGen mg = makeMethodGen(gen, 					AjcMemberMaker.interFieldInterfaceGetter(field, onType, aspectType));				gen.addMethodGen(mg);								LazyMethodGen mg1 = makeMethodGen(gen, 					AjcMemberMaker.interFieldInterfaceSetter(field, onType, aspectType));				gen.addMethodGen(mg1);			} else {				weaver.addInitializer(this);				FieldGen fg = makeFieldGen(gen,					AjcMemberMaker.interFieldClassField(field, aspectType));	    		gen.addField(fg.getField());			}    		return true;		} else if (onInterface && gen.getType().isTopmostImplementor(onType)) {			// wew know that we can't be static since we don't allow statics on interfaces			if (field.isStatic()) throw new RuntimeException("unimplemented");			weaver.addInitializer(this);			//System.err.println("impl body on " + gen.getType() + " for " + munger);			Type fieldType = 	BcelWorld.makeBcelType(field.getType());						FieldGen fg = makeFieldGen(gen,					AjcMemberMaker.interFieldInterfaceField(field, onType, aspectType));	    	gen.addField(fg.getField());				    	//this uses a shadow munger to add init method to constructors	    	//weaver.getShadowMungers().add(makeInitCallShadowMunger(initMethod));	    				LazyMethodGen mg = makeMethodGen(gen, 					AjcMemberMaker.interFieldInterfaceGetter(field, gen.getType(), aspectType));			InstructionList il = new InstructionList();			InstructionFactory fact = gen.getFactory();			if (field.isStatic()) {				il.append(fact.createFieldAccess(					gen.getClassName(), 					fg.getName(),					fieldType, Constants.GETSTATIC));			} else {				il.append(fact.ALOAD_0);				il.append(fact.createFieldAccess(					gen.getClassName(), 					fg.getName(),					fieldType, Constants.GETFIELD));			}			il.append(fact.createReturn(fieldType));			mg.getBody().insert(il);							gen.addMethodGen(mg);						LazyMethodGen mg1 = makeMethodGen(gen, 					AjcMemberMaker.interFieldInterfaceSetter(field, gen.getType(), aspectType));			InstructionList il1 = new InstructionList();			if (field.isStatic()) {				il1.append(fact.createLoad(fieldType, 0));				il1.append(fact.createFieldAccess(					gen.getClassName(), 					fg.getName(),					fieldType, Constants.PUTSTATIC));			} else {				il1.append(fact.ALOAD_0);				il1.append(fact.createLoad(fieldType, 1));				il1.append(fact.createFieldAccess(					gen.getClassName(), 					fg.getName(), 					fieldType, Constants.PUTFIELD));			}			il1.append(fact.createReturn(Type.VOID));			mg1.getBody().insert(il1);							gen.addMethodGen(mg1);			return true;		} else {			return false;		}	}