/**
  * @param string $name
  * @return BfoxToolContext
  */
 function contextForName($name)
 {
     if (empty($name)) {
         return null;
     }
     if (!isset($this->contexts[$name])) {
         $context = new BfoxToolContext($name, $this);
         if ($name != $this->mainContextName) {
             $context->addToolsFromContext($this->mainContext());
         }
         $this->contexts[$name] = $context;
     }
     return $this->contexts[$name];
 }
 function addToolsFromContext(BfoxToolContext $context)
 {
     foreach ($context->allTools() as $tool) {
         $this->addTool($tool);
     }
 }