protected function processConfiguration($configuration)
    {
        //locale
        if(isset($configuration['subjects'][$this->name]['locale']) && $configuration['subjects'][$this->name]['locale']) {
            $this->loadApplicationTranslations($this->name, $configuration['subjects'][$this->name]['locale']);
        }
        //traits
        $traits = $this->getUsedTraits();
        $reflection = new \ReflectionClass($this);
        foreach($traits as $trait) {
            $methodName = 'processConfigurationTrait' . $trait;
            if($reflection->hasMethod($methodName)) {
                $this->$methodName($configuration);
            }
        }
        //store
        $this->configuration = $configuration;
    }