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