@Override
    public boolean isClosed() {
        if (JiveGlobals.getBooleanProperty("xmpp.session.isclose.connectionbased", false)) {
            return Optional.ofNullable(conn)
                .map(Connection::isClosed)
                .orElse(Boolean.TRUE);
        } else {
            return getStatus() == Status.CLOSED;
        }
    }
Returns a text with the available stream features. Each subclass may return different
values depending whether the session has been authenticated or not.

@return a text with the available stream features or {@code null} to add nothing.
xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalSession.java