public void setEncryptionCipherSuites( String[] cipherSuites )
    {
        if ( cipherSuites == null) {
            cipherSuites = new String[0];
        }
        final String oldValue = getEncryptionCipherSuitesCommaSeparated();

        // Always set the property explicitly even if it appears the equal to the old value (the old value might be a fallback value).
        final StringBuilder csv = new StringBuilder();
        for( String cipherSuite : cipherSuites )
        {
            csv.append( cipherSuite );
            csv.append( ',' );
        }
        final String newValue = !csv.isEmpty() ? csv.substring( 0, csv.length() - 1 ) : "";
        JiveGlobals.setProperty( type.getPrefix() + "ciphersuites", newValue );

        if ( oldValue.equals( newValue ) )
        {
            Log.debug( "Ignoring cipher suite configuration change request (to '{}'): listener already in this state.", newValue );
            return;
        }

        Log.debug( "Changing cipher suite configuration from '{}' to '{}'.", oldValue, newValue );
        restart();
    }
Defines the collection of cipher suite (by name) that can be used for encryption of connections.

When non-empty, the list is intended to specify those cipher suites (from a larger collection of implementation-
supported cipher suites) that can be used to establish encryption. An empty list will cause an implementation
default to be used.

The order over which values are presented can, but is not guaranteed to, indicate preference.

@param cipherSuites An array of cipher suite names, can be null.
xmppserver/src/main/java/org/jivesoftware/openfire/spi/ConnectionListener.java