@Override public SaslMechanism getSaslMechanism(String[] serverMechanisms) { Set<String> server = new HashSet<String>(Arrays.asList(serverMechanisms)); for (String m : mechanisms) { if (server.contains(m)) { if (m.equals("PLAIN")) { return new PlainMechanism(); } else if (m.equals("EXTERNAL")) { return new ExternalMechanism(); } else if (m.equals("ANONYMOUS")) { return new AnonymousMechanism(); } } } return null; } }