A configuration for an {@link XmppSession}.
Most importantly it allows you to introduce custom extensions to your {@link XmppSession}, simply by passing your JAXB annotated classes to the constructor of this class and then {@linkplain XmppSession#XmppSession(String,XmppSessionConfiguration,ConnectionConfiguration) use this configuration for the session}.
Since creating the JAXB context is quite expensive, this class allows you to create the context once and reuse it by multiple sessions. You can also {@linkplain #setDefault(XmppSessionConfiguration) set} an application-wide default configuration (used by all XMPP sessions).
@author Christian Schudt
@see XmppSession#XmppSession(String,XmppSessionConfiguration,ConnectionConfiguration)