code: @Programmatic
      public ApplicationPermission findByRoleAndRuleAndFeatureCached(
              final ApplicationRole role,
              final ApplicationPermissionRule rule,
              final ApplicationFeatureType type,
              final String featureFqn) {
          return queryResultsCache.execute(new Callable<ApplicationPermission>() {
              @Override public ApplicationPermission call() throws Exception {
                  return findByRoleAndRuleAndFeature(role, rule, type, featureFqn);
              }
          }, ApplicationPermissionRepository.class, "findByRoleAndRuleAndFeatureCached", role, rule, type, featureFqn);
      }
docs: region > findByRoleAndRuleAndFeature (programmatic)