public function getSystemProperties()
    {

        // load the configuration service
        $service = $this->newService(ConfigurationService::class);

        // load the system properties
        $systemProperties =  $service->getSystemProperties($this->getContainer()->getContainerNode());

        // append the application specific properties
        $systemProperties->add(SystemPropertyKeys::WEBAPP, $webappPath = $this->getWebappPath());
        $systemProperties->add(SystemPropertyKeys::WEBAPP_NAME, basename($webappPath));
        $systemProperties->add(SystemPropertyKeys::WEBAPP_DATA, $this->getDataDir());
        $systemProperties->add(SystemPropertyKeys::WEBAPP_CACHE, $this->getCacheDir());
        $systemProperties->add(SystemPropertyKeys::WEBAPP_SESSION, $this->getSessionDir());

        // return the system properties
        return $systemProperties;
    }