original_string: public function parse($source=false, $parse_collections=false, $_internal_loop=false)
          {
  //          increment the parse count so it has unique identifiers
              self::$_instance += 1;
  //          capture the source from the buffer
              if($source === false)
              {
                  $source = ob_get_clean();
                  $this->_buffer_in_use = true;
                  $parse_collections = true;
              }
              
  //          collect the tags for processing
              $tags = $this->collectTags($source);
              if(count($tags) > 0)
              {
  //              there are tags so process them
                  $output = $this->_parseTags($tags);
                  if($output && $parse_collections === true)
                  {
  //                  parse any collected tags if required
                      $output = $this->_processCollectedTags($output);
                  }
                  if($this->_options['echo_output'] === true)
                  {
                      echo $output;
                  }
                  return $output;
              }
              return $source;
          }
code: public function parse($source=false, $parse_collections=false, $_internal_loop=false)
          {
  //          increment the parse count so it has unique identifiers
              self::$_instance += 1;
  //          capture the source from the buffer
              if($source === false)
              {
                  $source = ob_get_clean();
                  $this->_buffer_in_use = true;
                  $parse_collections = true;
              }
              
  //          collect the tags for processing
              $tags = $this->collectTags($source);
              if(count($tags) > 0)
              {
  //              there are tags so process them
                  $output = $this->_parseTags($tags);
                  if($output && $parse_collections === true)
                  {
  //                  parse any collected tags if required
                      $output = $this->_processCollectedTags($output);
                  }
                  if($this->_options['echo_output'] === true)
                  {
                      echo $output;
                  }
                  return $output;
              }
              return $source;
          }
code_tokens: public function parse ( $ source = false , $ parse_collections = false , $ _internal_loop = false ) { //          increment the parse count so it has unique identifiers self :: $ _instance += 1 ; //          capture the source from the buffer if ( $ source === false ) { $ source = ob_get_clean ( ) ; $ this -> _buffer_in_use = true ; $ parse_collections = true ; } //          collect the tags for processing $ tags = $ this -> collectTags ( $ source ) ; if ( count ( $ tags ) > 0 ) { //              there are tags so process them $ output = $ this -> _parseTags ( $ tags ) ; if ( $ output && $ parse_collections === true ) { //                  parse any collected tags if required $ output = $ this -> _processCollectedTags ( $ output ) ; } if ( $ this -> _options [ 'echo_output' ] === true ) { echo $ output ; } return $ output ; } return $ source ; }
docstring: Parses the source for any custom tags.
  @access public
  @param mixed|boolean|string $source If false then it will capture the output buffer, otherwise if a string
  it will use this value to search for custom tags.
  @param boolean $parse_collections If true then any collected tags will be parsed after the tags are parsed.
  @return string The parsed $source value.
docstring_tokens: Parses the source for any custom tags .