protected Instruction copyInstruction(Instruction paramInstruction, InstructionList paramInstructionList)
  {
    if (paramInstruction == null)
    {
      return null;
    }

    Instruction localInstruction = (Instruction)paramInstruction.copy();

    if ((paramInstructionList instanceof Instruction))
      localInstruction.setPreviousInstruction((Instruction)paramInstructionList);
    else {
      localInstruction.setPreviousInstruction(null);
    }
    if (((paramInstruction instanceof Loop)) && (((Loop)paramInstruction).getDestination() != null)) {
      ((Loop)localInstruction).setDestination((Instruction)((Loop)paramInstruction).getDestination().copy());
    }
    localInstruction.setNextInstruction(copyInstruction(localInstruction.getNextInstruction(), localInstruction));
    return localInstruction;
  }