class ProviderBasedDataObjectService implements DataObjectService {

    @Override
    public <T> T find(Class<T> type, Object id) {
        return persistenceProviderForType(type).find(type, reduceCompoundKey(id));
    }

}