parameters: (self)
return_statement: return result
docstring: Constructs a HierarchicalDictionary of all the options required to
          build this component in the current context.
  
          Ensures that if the class has been created, it can be recreated
          using the configuration built Inheriting classes must override
          this to ensure any dependent classes update their configurations
          too
docstring_summary: Constructs a HierarchicalDictionary of all the options required to
          build this component in the current context.
docstring_tokens: Constructs a HierarchicalDictionary of all the options required to build this component in the current context .
function: def build_configuration(self) -> HierarchicalDict:
          """Constructs a HierarchicalDictionary of all the options required to
          build this component in the current context.
  
          Ensures that if the class has been created, it can be recreated
          using the configuration built Inheriting classes must override
          this to ensure any dependent classes update their configurations
          too
          """
          result = HierarchicalDict()
          for req in self.get_requirements():
              value = self.config.get(req.name, None)
              # Do not include the name of constructed classes
              if value is not None and not isinstance(req, ConstructableRequirementInterface):
                  result[req.name] = value
              if isinstance(req, ConfigurableRequirementInterface):
                  if value is not None:
                      result.splice(req.name, req.build_configuration(self.context, self.config_path, value))
          return result
function_tokens: def build_configuration ( self ) -> HierarchicalDict : result = HierarchicalDict ( ) for req in self . get_requirements ( ) : value = self . config . get ( req . name , None ) # Do not include the name of constructed classes if value is not None and not isinstance ( req , ConstructableRequirementInterface ) : result [ req . name ] = value if isinstance ( req , ConfigurableRequirementInterface ) : if value is not None : result . splice ( req . name , req . build_configuration ( self . context , self . config_path , value ) ) return result