code: private static List<MatchedMethod> findPossibleMethods(final List<Class<?>> params, final Class<?> target,
                                                             final String hint) {
          final List<MatchedMethod> possibilities = Lists.newArrayList();
          // use generics to enforce type checks
          final GenericsContext targetGenerics = GenericsResolver.resolve(target);
          for (Method method : target.getMethods()) {
              // method hint force to check only methods with this name
              final boolean methodHintValid = hint == null || method.getName().equals(hint);
              if (!isAcceptableMethod(method) || !methodHintValid) {
                  continue;
              }
              final MatchedMethod matched = analyzeMethod(method, params, targetGenerics);
              if (matched != null) {
                  possibilities.add(matched);
              }
          }
          return possibilities;
      }
docs: Analyze target bean methods, finding all matching (by parameters) methods.
  If method name was specified, only methods with the same name resolved.
  
  @param target target bean type
  @param params repository method params
  @param hint   method name hint (may be null)
  @return descriptor of all matching methods