code: public boolean remove(Object obj) {
          Entry tab[] = mTable;
  
          if (obj == null) {
              obj = NULL;
          }
  
          int hash = obj.hashCode();
          int index = (hash & 0x7FFFFFFF) % tab.length;
  
          for (Entry e = tab[index], prev = null; e != null; e = e.mNext) {
              Object entryValue = e.get();
  
              if (entryValue == null) {
                  // Clean up after a cleared Reference.
                  mModCount++;
                  if (prev != null) {
                      prev.mNext = e.mNext;
                  }
                  else {
                      tab[index] = e.mNext;
                  }
                  mCount--;
              }
              else if (e.mHash == hash) {
                  mModCount++;
                  if (prev != null) {
                      prev.mNext = e.mNext;
                  }
                  else {
                      tab[index] = e.mNext;
                  }
                  mCount--;
  
                  return true;
              }
              else {
                  prev = e;
              }
          }
  
          return false;
      }
docs: Removes the given element from this set if it is present.
  
  @param obj object to be removed from this set, if present.
  @return <tt>true</tt> if the set contained the specified element.