/**
  * Returns a singleton instance of a configurationBuilder class
  *
  * @static
  * @param string $listIdentifier the listidentifier of the list
  * @param boolean $resetConfigurationBuilder
  * @return Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder
  * @throws Exception
  */
 public function getInstance($listIdentifier = NULL, $resetConfigurationBuilder = false)
 {
     if ($listIdentifier == NULL) {
         $listIdentifier = $this->extbaseContext->getCurrentListIdentifier();
     }
     if ($listIdentifier == '') {
         throw new Exception('No list identifier could be found in settings!', 1280230579);
     }
     if ($resetConfigurationBuilder) {
         $this->configurationBuilderInstancesContainer->remove($listIdentifier);
         // Make sure, we overwrite a previously added configuration builder if we want to reset
     }
     if (!$this->configurationBuilderInstancesContainer->contains($listIdentifier)) {
         if (!is_array($this->settings['listConfig']) || !array_key_exists($listIdentifier, $this->settings['listConfig'])) {
             throw new Exception('No list with listIdentifier ' . $listIdentifier . ' could be found in settings! Available are: ' . implode(', ', is_array($this->settings['listConfig']) ? array_keys($this->settings['listConfig']) : array()), 1288110596);
         }
         // TODO use object manager to instantiate the configuration builder object
         $this->configurationBuilderInstancesContainer->add(new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder($this->settings, $listIdentifier));
     }
     return $this->configurationBuilderInstancesContainer->get($listIdentifier);
 }
 /**
  * Factory method for GET/POST Var Adapter.
  * 
  * @return Tx_PtExtbase_State_GpVars_GpVarsAdapter Singleton instance of GET/POST Var Adapter.
  */
 public function getInstance()
 {
     return $this->gpVarsAdapterFactory->getInstance($this->extbaseContext->getExtensionNamespace());
 }