class ResourceTypePermissionValidator {

    public boolean satisfyDependancies(PermissionCollection pc, ResourceType resourceType, ResourceAction resourceAction) {
        return resourceDependancy(resourceType, resourceAction).map(permissionAction -> {
            ResourceAction dependantAction  = permissionAction.getDependantAction();
            if (dependantAction != null) {
                org.uberfire.security.authz.Permission permission = permissionManager.createPermission(resourceType, dependantAction, true);
                return pc.implies(permission);
            }
           return true;
        }).orElse(true);
    }

    public  ResourceTypePermissionValidator();
    @Inject public  ResourceTypePermissionValidator(@Customizable final AppFormerActivities appFormerActivities, final OrganizationalUnitService organizationalUnitService,
                                           final WorkspaceProjectService projectService, final PermissionManager permissionManager);

}