private function write($str)
    {
        $this->source .= $this->indentation;
        if (func_num_args() == 1) {
            $this->source .= $str . "\n";
            return $this;
        }
        $this->source .= vsprintf($str, array_slice(func_get_args(), 1)) . "\n";
        return $this;
    }
private function write($str)
    {
        $this->source .= $this->indentation;
        if (func_num_args() == 1) {
            $this->source .= $str . "\n";
            return $this;
        }
        $this->source .= vsprintf($str, array_slice(func_get_args(), 1)) . "\n";
        return $this;
    }
private function write ( $ str ) { $ this -> source .= $ this -> indentation ; if ( func_num_args ( ) == 1 ) { $ this -> source .= $ str . "\n" ; return $ this ; } $ this -> source .= vsprintf ( $ str , array_slice ( func_get_args ( ) , 1 ) ) . "\n" ; return $ this ; }
Writes the given line of source code. Pass positional arguments to write
that match the format of sprintf.

@param string $str String to write
@return $this
Writes the given line of source code . Pass positional arguments to write that match the format of sprintf .