code: 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()]);
      }
docs: This method will warn if any requested cipher suites appear to not match the options
  
  @param candidateCipherSuites locally supported cipher suites
  @param requested cipher suites explicitly configured
  @param options association options configured
  @return intersection of candidates and requested