code: public final AbstractItemLink remove(long key) {
          AbstractItemLink link = null;
  
          int i = _indexOfKey(key);
  
          synchronized (_getLock(i)) {
              Entry previousEntry = _entry[i];
              Entry thisEntry = previousEntry;
              while (null != thisEntry && null == link) {
                  Entry nextEntry = thisEntry.next;
                  if (key == thisEntry.id) {
                      link = thisEntry.link;
                      _size--;
                      if (previousEntry == thisEntry) {
                          _entry[i] = nextEntry;
                      } else {
                          previousEntry.next = nextEntry;
                      }
                  }
                  previousEntry = thisEntry;
                  thisEntry = nextEntry;
              }
          }
          return link;
      }
docs: Removes the mapping for this key from this map if present.
  
  @param  key key whose mapping is to be removed from the map.
  @return previous value associated with specified key, or <tt>null</tt>
  if there was no mapping for key.