code: @Override
      public Handle<K, V> insert(K key, V value) {
          if (other != this) {
              throw new IllegalStateException("A heap cannot be used after a meld");
          }
          if (key == null) {
              throw new NullPointerException("Null keys not permitted");
          }
          /*
           * Create a single element heap
           */
          SoftHandle<K, V> n = new SoftHandle<K, V>(this, key, value);
          TreeNode<K, V> treeNode = new TreeNode<K, V>(n);
          RootListNode<K, V> rootListNode = new RootListNode<K, V>(treeNode);
  
          /*
           * Merge new list into old list
           */
          mergeInto(rootListNode, rootListNode);
  
          size++;
          return n;
      }
docs: {@inheritDoc}