@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;
}
}