private <T extends InstructionImpl> T addNode(T instruction) { instruction.setNumber(myInstructionNumber++); myInstructions.add(instruction); if (myHead != null) { addEdge(myHead, instruction); } myHead = instruction; return instruction; }