original_string: public function before(\Closure $closure = null)
      {
          if (null !== $closure) {
              $this->before[] = $closure;
  
              return $this;
          }
  
          return $this->before[] = new ExprBuilder($this->node);
      }
code: public function before(\Closure $closure = null)
      {
          if (null !== $closure) {
              $this->before[] = $closure;
  
              return $this;
          }
  
          return $this->before[] = new ExprBuilder($this->node);
      }
code_tokens: public function before ( \ Closure $ closure = null ) { if ( null !== $ closure ) { $ this -> before [ ] = $ closure ; return $ this ; } return $ this -> before [ ] = new ExprBuilder ( $ this -> node ) ; }
docstring: Registers a closure to run before the normalization or an expression builder to build it if null is provided.
  
  @return ExprBuilder|$this
docstring_tokens: Registers a closure to run before the normalization or an expression builder to build it if null is provided .