class STKTerrainImageProvider implements ImageProvider<ZYXImageKey> {

    @Override
    public Image getImage(ZYXImageKey key)
    {
        DataModelCategory category = new DataModelCategory(myServerUrl, QuantizedMesh.class.getName(), myTileSetName);
        List<PropertyMatcher<?>> matchers = New.list();
        ZYXKeyPropertyMatcher keyMatcher = new ZYXKeyPropertyMatcher(Constants.KEY_PROPERTY_DESCRIPTOR, key);
        matchers.add(keyMatcher);

        SimpleQuery<QuantizedMesh> query = new SimpleQuery<>(category, Constants.QUANTIZED_MESH_PROPERTY_DESCRIPTOR, matchers);

        QueryTracker tracker = myDataRegistry.performQuery(query);

        QuantizedMesh mesh = null;
        if (query.getResults() != null && !query.getResults().isEmpty())
        {
            mesh = query.getResults().get(0);
        }
        else if (tracker.getException() != null)
        {
            LOGGER.error(tracker.getException(), tracker.getException());
        }

        return mesh;
    }

    public  STKTerrainImageProvider(DataRegistry dataRegistry, String serverUrl, String tileSetName);

}