code: protected Member findMemberIn (List<Member> memberList, Class<?>[] parameterTypes)
          throws NoSuchMethodException
      {
          List<Member> matchingMembers = new ArrayList<Member>();
  
          for (Iterator<Member> it = memberList.iterator(); it.hasNext();) {
              Member member = it.next();
              Class<?>[] methodParamTypes = _paramMap.get(member);
  
              // check for exactly equal method signature
              if (Arrays.equals(methodParamTypes, parameterTypes)) {
                  return member;
              }
  
              if (ClassUtil.compatibleClasses(methodParamTypes, parameterTypes)) {
                  matchingMembers.add(member);
              }
          }
  
          if (matchingMembers.isEmpty()) {
              throw new NoSuchMethodException(
                  "No member in " + _clazz.getName() + " matching given args");
          }
          if (matchingMembers.size() == 1) {
              return matchingMembers.get(0);
          }
  
          return findMostSpecificMemberIn(matchingMembers);
      }
docs: Basis of {@link #findConstructor} and {@link #findMethod}.  The member list fed to this
  method will be either all {@link Constructor} objects or all {@link Method} objects.