/**
  * Factory method to create a new DNS resolver instance.
  *
  * @param \AppserverIo\Server\Interfaces\ServerContextInterface       $serverContext       The server context for the resolver
  * @param \AppserverIo\Server\Interfaces\ModuleConfigurationInterface $moduleConfiguration The module configuration with the initialization parameters
  *
  * @return \AppserverIo\DnsServer\StorageProvider\StorageProviderInterface The initialized DNS resolver
  */
 public static function factory(ServerContextInterface $serverContext, ModuleConfigurationInterface $moduleConfiguration)
 {
     // laod the system configuration from the server context
     $systemConfiguration = $serverContext->getContainer()->getInitialContext()->getSystemConfiguration();
     // initialize the storage provider
     $storageProvider = new SystemConfigurationStorageProvider($systemConfiguration, $moduleConfiguration);
     // initialize the DNS resolver to load the DNS entries from the storage
     return new StackableResolver(array($storageProvider, new RecursiveProvider()));
 }