class TableMapStore implements MapStore<String, Table> {

    @Override
    public Table load(String key) {
        logger.info("Load called for: " + key);
        GetResponse response = elasticsearchConnection.getClient().prepareGet()
                .setIndex(TABLE_META_INDEX)
                .setType(TABLE_META_TYPE)
                .setId(key)
                .execute()
                .actionGet();
        if (!response.isExists()) {
            return null;
        }
        try {
            return objectMapper.readValue(response.getSourceAsBytes(), Table.class);
        } catch (Exception e) {
            throw new RuntimeException("Error getting data for table: " + key);
        }
    }

    public  TableMapStore(ElasticsearchConnection elasticsearchConnection);

}