request.forward(ForwardRequest.viewService(targetId));
} else {
if (result.getSpecification().isParentedOrFreeCollection()) {
final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(result);
if (facet.size(result) == 1) {
forwardObjectResult(request, context, facet.firstElement(result));
} else {
forwardCollectionResult(request, context, result);
}
} else if (result.getSpecification().isValueOrIsParented()) {
// TODO deal with this object properly, it might not be just a