@Transactional
    public PolicyBean createClientPolicy(String organizationId, String clientId, String version,
        NewPolicyBean bean) throws OrganizationNotFoundException, ClientVersionNotFoundException,
        NotAuthorizedException {

        return tryAction(() -> {
            // Make sure the Client exists
            ClientVersionBean cvb = getClientVersionInternal(organizationId, clientId, version);

            PolicyBean policy = policyService.createPolicy(organizationId, clientId, version, bean, PolicyType.Client);

            cvb.setModifiedBy(securityContext.getCurrentUser());
            cvb.setModifiedOn(new Date());

            return policy;
        });
    }
Gets the client version internally
which lets callers dictate whether the user has clientView permission for the org.
@param organizationId the organizationId
@param clientId the clientId
@param version the version
@return the client version
@throws ClientVersionNotFoundException if client not found
manager/api/rest-impl/src/main/java/io/apiman/manager/api/service/ClientAppService.java