code: public void insert(final AbstractInsnNode location,
              final AbstractInsnNode insn) {
          ++size;
          AbstractInsnNode next = location.next;
          if (next == null) {
              last = insn;
          } else {
              next.prev = insn;
          }
          location.next = insn;
          insn.next = next;
          insn.prev = location;
          cache = null;
          insn.index = 0; // insn now belongs to an InsnList
      }
docs: Inserts the given instruction after the specified instruction.
  
  @param location
  an instruction <i>of this list</i> after which insn must be
  inserted.
  @param insn
  the instruction to be inserted, <i>which must not belong to
  any {@link InsnList}</i>.