private static Method searchCandidates(List<Method> candidateMethods,Method bridgeMethod){
  if (candidateMethods.isEmpty()) {
    return null;
  }
  Method previousMethod=null;
  boolean sameSig=true;
  for (  Method candidateMethod : candidateMethods) {
    if (isBridgeMethodFor(bridgeMethod,candidateMethod,bridgeMethod.getDeclaringClass())) {
      return candidateMethod;
    }
 else     if (previousMethod != null) {
      sameSig=sameSig && Arrays.equals(candidateMethod.getGenericParameterTypes(),previousMethod.getGenericParameterTypes());
    }
    previousMethod=candidateMethod;
  }
  return (sameSig ? candidateMethods.get(0) : null);
}

private static Method searchCandidates ( List < Method > candidateMethods , Method bridgeMethod ) { if ( candidateMethods . isEmpty ( ) ) { return null ; } Method previousMethod = null ; boolean sameSig = true ; for ( Method candidateMethod : candidateMethods ) { if ( isBridgeMethodFor ( bridgeMethod , candidateMethod , bridgeMethod . getDeclaringClass ( ) ) ) { return candidateMethod ; } else if ( previousMethod != null ) { sameSig = sameSig && Arrays . equals ( candidateMethod . getGenericParameterTypes ( ) , previousMethod . getGenericParameterTypes ( ) ) ; } previousMethod = candidateMethod ; } return ( sameSig ? candidateMethods . get ( 0 ) : null ) ; }
searches for the bridged method in the given candidates .
