If you don't want to reject a whole subscription request when a few items in the request cannot be supplied to the related user,
you can still achieve that by leveraging the Metadata Adapter.

In the getItems method, any item whose request cannot be forwarded to the Data Adapter can be replaced with a special item;
this special item can be just silent or can carry refusal-related information that client application code can easily detect.