class CloudDatastoreBackend extends AbstractDatabaseBackend {

    @Override
    public Model get(Class modelClass, String objectId) throws DatabaseObjectNotFound {
        // Load entity from Datastore
        Datastore datastore = getService();
        KeyFactory keyFactory = datastore.newKeyFactory().setKind(modelClass.getSimpleName());
        Key key = keyFactory.newKey(objectId);
        Entity entity = datastore.get(key);

        // No entity found
        if (entity == null) {
            throw new DatabaseObjectNotFound(
                    String.format("%s object not found: %s", modelClass.getSimpleName(), objectId));
        }

        return convertEntityToModel(entity, modelClass);
    }

}