/**
  * Create Authentication Provider instance.
  * @param \Silex\Application $app
  * @param UserProviderInterface $userProvider
  * @param string $providerKey
  * @return SimpleAuthenticationProvider
  */
 public function createAuthenticationProvider(\Silex\Application $app, UserProviderInterface $userProvider, $providerKey)
 {
     if (!$userProvider instanceof MutableUserProviderInterface) {
         throw new \InvalidArgumentException(sprintf('InitializableAuthenticationFactory expects the user provider to be an instance of MutableUserProviderInterface, received %s instead.', get_class($userProvider)));
     }
     return parent::createAuthenticationProvider($app, $userProvider, $providerKey);
 }
 /**
  * Construct an instance.
  * @staticvar int $instanceId
  */
 public function __construct()
 {
     parent::__construct($this);
 }