{
          if (BasicEMap.this.size > 0 && object instanceof Map.Entry)
          {
            BasicEMap.this.ensureEntryDataExists();
            @SuppressWarnings("unchecked") Map.Entry<K, V> otherEntry = (Map.Entry<K, V>)object;
            Object key = otherEntry.getKey();
            int hash = key == null ? 0 : key.hashCode();
            int index = BasicEMap.this.indexOf(hash);
            BasicEList<Entry<K, V>> eList = entryData[index];
            if (eList != null)
            {
              @SuppressWarnings("unchecked") Entry<K, V> [] entries = (Entry<K, V> [])eList.data;
              int size = eList.size;
              for (int j = 0; j < size; ++j)
              {
                Entry<K, V> entry = entries[j];
                if (entry.getHash() == hash && entry.equals(otherEntry)) 
                {
                  // BasicEMap.this.removeEntry(index, j);
                  remove(otherEntry);
                  return true;
                }
              }
            }
          }
          return false;
        }