void (GrExpression expression, boolean negated) { FList<ConditionInstruction> conditionsBefore = myConditions; ConditionInstruction cond = registerCondition(expression, negated); addNodeAndCheckPending(cond); addNode(new InstanceOfInstruction(expression, cond, myVariableMapping)); NegatingGotoInstruction negation = new NegatingGotoInstruction(expression, cond); addNode(negation); InstructionImpl possibleReturn = handlePossibleReturn(expression); addPendingEdge(expression, possibleReturn != null ? possibleReturn : negation); myHead = cond; addNode(new InstanceOfInstruction(expression, cond, myVariableMapping)); myConditions = conditionsBefore; }