private static Method searchCandidates(List<Method> candidateMethods, Method bridgeMethod) {
		if (candidateMethods.isEmpty()) {
			return null;
		}
		Map<TypeVariable, Type> typeParameterMap = GenericTypeResolver.getTypeVariableMap(bridgeMethod.getDeclaringClass());
		Method previousMethod = null;
		boolean sameSig = true;
		for (Method candidateMethod : candidateMethods) {
			if (isBridgeMethodFor(bridgeMethod, candidateMethod, typeParameterMap)) {
				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 ; } Map < TypeVariable , Type > typeParameterMap = GenericTypeResolver . getTypeVariableMap ( bridgeMethod . getDeclaringClass ( ) ) ; Method previousMethod = null ; boolean sameSig = true ; for ( Method candidateMethod : candidateMethods ) { if ( isBridgeMethodFor ( bridgeMethod , candidateMethod , typeParameterMap ) ) { 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.
@param candidateMethods the List of candidate Methods
@param bridgeMethod the bridge method
@return the bridged method, or {@code null} if none found