docs: public void insertBefore(final AbstractInsnNode location,
              final AbstractInsnNode insn) {
          ++size;
          AbstractInsnNode prev = location.prev;
          if (prev == null) {
              first = insn;
          } else {
              prev.next = insn;
          }
          location.prev = insn;
          insn.next = location;
          insn.prev = prev;
          cache = null;
          insn.index = 0; // insn now belongs to an InsnList
      }