type = ensureTargetTypeIsCorrect(type);
    public void initializeTargetVar() {    	InstructionFactory fact = getFactory();    	        if (targetVar != null) return;        if (getKind().isTargetSameAsThis()) {            if (hasThis()) initializeThisVar();            targetVar = thisVar;        } else {            initializeArgVars(); // gotta pop off the args before we find the target            TypeX type = getTargetType();            targetVar = genTempVar(type, "ajc$target");            range.insert(targetVar.createStore(fact), Range.OutsideBefore); 	        targetVar.setPositionInAroundState(hasThis() ? 1 : 0);                    }    }