final ObjectSpecification supertypeSpec = getSpecificationLoader().lookupBySpecId(ObjectSpecId.of(supertype));
final TypeActionResultReprRenderer renderer = new TypeActionResultReprRenderer(getResourceContext(), null, JsonRepresentation.newMap());
final String url = "domain-types/" + domainType + "/type-actions/isSubtypeOf/invoke";
final LinkBuilder linkBuilder = LinkBuilder.newBuilder(getResourceContext(), Rel.SELF.getName(), RepresentationType.TYPE_ACTION_RESULT, url);
final JsonRepresentation arguments = DomainTypeReprRenderer.argumentsTo(getResourceContext(), "supertype", supertypeSpec);
final JsonRepresentation selfLink = linkBuilder.withArguments(arguments).build();
final boolean value = domainTypeSpec.isOfType(supertypeSpec);
renderer.with(domainTypeSpec).withSelf(selfLink).withValue(value);
return Responses.ofOk(renderer, Caching.ONE_DAY).build();