private MethodNode chooseMethodRefMethodCandidate ( Expression methodRef , List < MethodNode > candidates ) { if ( 1 == candidates . size ( ) ) return candidates . get ( 0 ) ; return candidates . stream ( ) . map ( e -> Tuple . tuple ( e , matchingScore ( e , methodRef ) ) ) . min ( ( t1 , t2 ) -> Integer . compare ( t2 . getV2 ( ) , t1 . getV2 ( ) ) ) . map ( Tuple2 :: getV1 ) . orElse ( null ) ; }
Choose the best method node for method reference .