private String [ ] filter ( String [ ] candidateCipherSuites , String [ ] requested , OptionsKey options ) { List < String > candidates = Arrays . asList ( candidateCipherSuites ) ; EnumSet < Options > supports = toOptions ( options . supports , true ) ; EnumSet < Options > requires = toOptions ( options . requires , false ) ; List < String > result = new ArrayList < String > ( requested . length ) ; for ( String choice : requested ) { if ( ! matches ( supports , requires , choice ) ) { Tr . warning ( tc , "CSIv2_COMMON_CIPHER_SUITE_MISMATCH" , choice , getOptions ( choice ) , supports , requires ) ; } if ( candidates . contains ( choice ) ) { result . add ( choice ) ; } } return result . toArray ( new String [ result . size ( ) ] ) ; }
This method will warn if any requested cipher suites appear to not match the options