@Override
    default void close() {
        close(null, false);
    }
Close this connection including associated session. The events for closing
the connection are:

<ul>
     <li>Set closing flag to prevent redundant shutdowns.
     <li>Close the socket.
     <li>Notify all listeners that the channel is shut down.
</ul>

Not all implementations use the same order of events.

Invocation of this method is expected to occur when a coordinated, 'clean' disconnect occurs. Such disconnects
are expected to be user (or server) initiated. As a result, a session closed by this method is not resumable,
even if Stream Management was activated for this session. Refer to {@link #close(StreamError, boolean)} for
processing of unexpected disconnects (that <em>are</em> potentially resumable).
xmppserver/src/main/java/org/jivesoftware/openfire/Connection.java