code: public T get(final int key) {
  
          final int hash  = hashOf(key);
          int index = hash & mask;
          if (containsKey(key, index)) {
              return (T)values[index];
          }
  
          if (states[index] == FREE) {
              return missingEntries;
          }
  
          int j = index;
          for (int perturb = perturb(hash); states[index] != FREE; perturb >>= PERTURB_SHIFT) {
              j = probe(perturb, j);
              index = j & mask;
              if (containsKey(key, index)) {
                  return (T)values[index];
              }
          }
  
          return missingEntries;
  
      }
docs: Get the stored value associated with the given key
  @param key key associated with the data
  @return data associated with the key