### Question:
InsnList implements Iterable<AbstractInsnNode> { public void add(final AbstractInsnNode insnNode) { ++size; if (lastInsn == null) { firstInsn = insnNode; lastInsn = insnNode; } else { lastInsn.nextInsn = insnNode; insnNode.previousInsn = lastInsn; } lastInsn = insnNode; cache = null; insnNode.index = 0; }  int size(); AbstractInsnNode getFirst(); AbstractInsnNode getLast(); AbstractInsnNode get(final int index); boolean contains(final AbstractInsnNode insnNode); int indexOf(final AbstractInsnNode insnNode); void accept(final MethodVisitor methodVisitor); @Override ListIterator<AbstractInsnNode> iterator(); @SuppressWarnings("unchecked") ListIterator<AbstractInsnNode> iterator(final int index); AbstractInsnNode[] toArray(); void set(final AbstractInsnNode oldInsnNode, final AbstractInsnNode newInsnNode); void add(final AbstractInsnNode insnNode); void add(final InsnList insnList); void insert(final AbstractInsnNode insnNode); void insert(final InsnList insnList); void insert(final AbstractInsnNode previousInsn, final AbstractInsnNode insnNode); void insert(final AbstractInsnNode previousInsn, final InsnList insnList); void insertBefore(final AbstractInsnNode nextInsn, final AbstractInsnNode insnNode); void insertBefore(final AbstractInsnNode nextInsn, final InsnList insnList); void remove(final AbstractInsnNode insnNode); void clear(); void resetLabels();  }### Answer:
@Test public void testAdd_illegalArgument() { InsnList insnList = newInsnList(); newInsnList(insn1, insn2); Executable add = () -> insnList.add(insn1); assertThrows(IllegalArgumentException.class, add); }
@Test public void testAddList_illegalArgument() { InsnList insnList = newInsnList(); Executable add = () -> insnList.add(insnList); assertThrows(IllegalArgumentException.class, add); }