code: @Programmatic
      public List<ApplicationPermission> findByRoleCached(final ApplicationRole role) {
          return queryResultsCache.execute(new Callable<List<ApplicationPermission>>() {
              @Override
              public List<ApplicationPermission> call() throws Exception {
                  return findByRole(role);
              }
          }, ApplicationPermissionRepository.class, "findByRoleCached", role);
      }
docs: region > findByRole (programmatic)