@Override
    public Object getNegotiatedProperty(String propName) {
        if (completed) {
            if (propName.equals(Sasl.QOP)) {
                return "auth";
            } else {
                return null;
            }
        } else {
            throw new IllegalStateException("PLAIN authentication not completed");
        }
    }
Retrieves the negotiated property.
This method can be called only after the authentication exchange has
completed (i.e., when {@code isComplete()} returns true); otherwise, an
{@code IllegalStateException} is thrown.

@param propName the property
@return The value of the negotiated property. If null, the property was
not negotiated or is not applicable to this mechanism.
@exception IllegalStateException if this authentication exchange has not completed
xmppserver/src/main/java/org/jivesoftware/openfire/sasl/SaslServerPlainImpl.java