code: public Object get(Object key) {
          Entry tab[] = mTable;
  
          if (key != null) {
              int hash = key.hashCode();
              int index = (hash & 0x7FFFFFFF) % tab.length;
  
              for (Entry e = tab[index], prev = null; e != null; e = e.mNext) {
                  Object entryValue = e.getValue();
  
                  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 && key.equals(e.mKey)) {
                      return (entryValue instanceof Null) ? null : entryValue;
                  }
                  else {
                      prev = e;
                  }
              }
          }
          else {
              for (Entry e = tab[0], prev = null; e != null; e = e.mNext) {
                  Object entryValue = e.getValue();
  
                  if (entryValue == null) {
                      // Clean up after a cleared Reference.
                      mModCount++;
                      if (prev != null) {
                          prev.mNext = e.mNext;
                      }
                      else {
                          tab[0] = e.mNext;
                      }
                      mCount--;
                  }
                  else if (e.mKey == null) {
                      return (entryValue instanceof Null) ? null : entryValue;
                  }
                  else {
                      prev = e;
                  }
              }
          }
  
          return null;
      }
docs: Returns the value to which this map maps the specified key.  Returns
  <tt>null</tt> if the map contains no mapping for this key.  A return
  value of <tt>null</tt> does not <i>necessarily</i> indicate that the
  map contains no mapping for the key; it's also possible that the map
  explicitly maps the key to <tt>null</tt>.  The <tt>containsKey</tt>
  operation may be used to distinguish these two cases.
  
  @return the value to which this map maps the specified key.
  @param key key whose associated value is to be returned.