class HBase_1_1_2_ClientMapCacheService extends AbstractControllerService implements DistributedMapCacheClient {

    @Override
    public <K, V> V get(final K key, final Serializer<K> keySerializer, final Deserializer<V> valueDeserializer) throws IOException {
      final byte[] rowIdBytes = serialize(key, keySerializer);
      final HBaseRowHandler handler = new HBaseRowHandler();

      final List<Column> columnsList = new ArrayList<Column>(0);

      hBaseClientService.scan(hBaseCacheTableName, rowIdBytes, rowIdBytes, columnsList, authorizations, handler);
      if (handler.numRows() > 1) {
          throw new IOException("Found multiple rows in HBase for key");
      } else if(handler.numRows() == 1) {
          return deserialize( handler.getLastResultBytes(), valueDeserializer);
      } else {
          return null;
      }
    }

}