@Override
  public Object getMapValueElement(Object key) {
    if (!getParsed()) {
      parse();
    }

    for (Map.Entry<Object, Object> entry : cachedMap.entrySet()) {
      LazyPrimitive<?, ?> lazyKeyI = (LazyPrimitive<?, ?>) entry.getKey();
      // getWritableObject() will convert LazyPrimitive to actual primitive
      // writable objects.
      Object keyI = lazyKeyI.getWritableObject();
      if (keyI == null) {
        continue;
      }
      if (keyI.equals(key)) {
        // Got a match, return the value
        Object _value = entry.getValue();

        // If the given value is a type of LazyObject, then only try and convert it to that form.
        // Else return it as it is.
        if (_value instanceof LazyObject) {
          LazyObject<?> v = (LazyObject<?>) entry.getValue();
          return v == null ? v : v.getObject();
        } else {
          return _value;
        }
      }
    }

    return null;
  }
Get the value in the map for the given key.

@param key
@return
hbase-handler/src/java/org/apache/hadoop/hive/hbase/LazyHBaseCellMap.java