public static AuthProvider instantiate(@Nonnull final SystemProperty<Class> implementationProperty)
    {
        return instantiate(implementationProperty, null);
    }
Instantiates a AuthProvider based on Class-based system property. When the property is not set, this
method returns null. When the property is set, but an exception occurs while instantiating the class, this method
logs the error and returns null.

AuthProvider classes are required to have a public, no-argument constructor.

@param implementationProperty A property that defines the class of the instance to be returned.
@return A user provider (can be null).
xmppserver/src/main/java/org/jivesoftware/openfire/auth/AuthMultiProvider.java