code: private function setOutputAs($outputAs)
      {
          if (\is_object($this->cfg['outputAs'])) {
              /*
                  unsubscribe current OutputInterface
                  there can only be one 'outputAs' at a time
                  if multiple output routes are desired, use debug->addPlugin()
              */
              $this->debug->removePlugin($this->cfg['outputAs']);
              $this->cfg['outputAs'] = null;
          }
          $prop = null;
          $obj = null;
          if (\is_string($outputAs)) {
              $prop = $outputAs;
              $classname = __NAMESPACE__.'\\Output\\'.\ucfirst($outputAs);
              if (\property_exists($this, $prop)) {
                  $obj = $this->{$prop};
              } elseif (\class_exists($classname)) {
                  $obj = new $classname($this->debug);
              }
          } elseif ($outputAs instanceof OutputInterface) {
              $classname = \get_class($outputAs);
              $prefix = __NAMESPACE__.'\\Output\\';
              if (\strpos($classname, $prefix) == 0) {
                  $prop = \substr($classname, \strlen($prefix));
                  $prop = \lcfirst($prop);
              }
              $obj = $outputAs;
          }
          if ($obj) {
              $this->debug->addPlugin($obj);
              $this->cfg['outputAs'] = $obj;
              if ($prop) {
                  $this->{$prop} = $obj;
              }
          }
      }
docs: Set outputAs value
  instantiate object if necessary & addPlugin if not already subscribed
  
  @param OutputInterface|string $outputAs OutputInterface instance, or (short) classname
  
  @return void