final ObjectInstantiator objectInstantiator = getRuntimeContext().getObjectInstantiator();
// create contexts as inputs ...
final SpecificationContext specContext = new SpecificationContext(getDeploymentCategory(), authenticationSessionProvider, servicesProvider, objectInstantiator, specificationLookup, facetProcessor);
final AdapterManager adapterMap = getRuntimeContext().getAdapterManager();
final ObjectMemberContext objectMemberContext = new ObjectMemberContext(getDeploymentCategory(), authenticationSessionProvider, specificationLookup, adapterMap, getRuntimeContext().getQuerySubmitter(), collectionTypeRegistry);
// ... and create the specs
if (FreeStandingList.class.isAssignableFrom(cls)) {
return new ObjectSpecificationForFreeStandingList(specContext, objectMemberContext);