public function __construct(ServerNodeInterface $node)
{
// set the node itself
$this->node = $node;
// pre-load the nodes data
$this->analytics = $node->getAnalyticsAsArray();
$this->virtualHosts = $node->getVirtualHostsAsArray();
$this->handlers = $node->getFileHandlersAsArray();
$this->headers = $node->getHeadersAsArray();
$this->connectionHandlers = $node->getConnectionHandlersAsArray();
$this->authentications = $node->getAuthenticationsAsArray();
$this->rewrites = $node->getRewritesAsArray();
$this->rewriteMaps = $node->getRewriteMapsAsArray();
$this->accesses = $node->getAccessesAsArray();
$this->environmentVariables = $node->getEnvironmentVariablesAsArray();
$this->locations = $node->getLocationsAsArray();
$this->certificates = $node->getCertificatesAsArray();
// modules can have params, so not make them flat
$this->modules = $node->getModules();
}