original_string: public static function build($name, array $configs = array())
      {
          if (isset(self::$instantiated[$name])) {
              return self::$instantiated[$name];
          }
  
          self::instantiateDefaultBroadcasters();
          if (!isset(self::$broadcasters[$name])) {
              throw new InvalidArgumentException(sprintf('Undefined broadcaster with name "%s".', $name));
          }
  
          self::$instantiated[$name] = self::instantiate(self::$broadcasters[$name], $configs);
  
          return self::$instantiated[$name];
      }
code: public static function build($name, array $configs = array())
      {
          if (isset(self::$instantiated[$name])) {
              return self::$instantiated[$name];
          }
  
          self::instantiateDefaultBroadcasters();
          if (!isset(self::$broadcasters[$name])) {
              throw new InvalidArgumentException(sprintf('Undefined broadcaster with name "%s".', $name));
          }
  
          self::$instantiated[$name] = self::instantiate(self::$broadcasters[$name], $configs);
  
          return self::$instantiated[$name];
      }
code_tokens: public static function build ( $ name , array $ configs = array ( ) ) { if ( isset ( self :: $ instantiated [ $ name ] ) ) { return self :: $ instantiated [ $ name ] ; } self :: instantiateDefaultBroadcasters ( ) ; if ( ! isset ( self :: $ broadcasters [ $ name ] ) ) { throw new InvalidArgumentException ( sprintf ( 'Undefined broadcaster with name "%s".' , $ name ) ) ; } self :: $ instantiated [ $ name ] = self :: instantiate ( self :: $ broadcasters [ $ name ] , $ configs ) ; return self :: $ instantiated [ $ name ] ; }
docstring: Build a broadcaster.
  
  @param string $name
  @param array  $configs
  
  @return BroadcasterInterface
docstring_tokens: Build a broadcaster .