code: @Override
      public Handle<K, V> insert(K key, V value) {
          if (key == null) {
              throw new NullPointerException("Null keys not permitted");
          } else if (other != this) {
              throw new IllegalStateException("A heap cannot be used after a meld");
          } else if (size % 2 == 0) {
              free = new ReflectedHandle<K, V>(this, key, value);
              size++;
              return free;
          } else {
              ReflectedHandle<K, V> newHandle = new ReflectedHandle<K, V>(this, key, value);
              insertPair(newHandle, free);
              free = null;
              size++;
              return newHandle;
          }
      }
docs: {@inheritDoc}