original_string: public function MoveToFollowing( $kind, $end = null )
  	{
  		if	(	is_null( $this->domNode ) ||
  				is_null( $kind ) ||
  			  	$this->domNode instanceof \DOMAttr  ||
  				$this->domNode instanceof \DOMNameSpaceNode
  			) return false;
  
  		if ( ! is_null( $end ) && $this->IsSamePosition( $end ) ) return false;
  
  		if ( $this->domNode instanceof \DOMDocument )
  		{
  			$this->domNode = $this->domNode->documentElement;
  			return true;
  		}
  
  		/**
  		 * @var \DOMElement $node
  		 */
  		$node = $this->domNode;
  
  		while( true )
  		{
  			if ( $node->hasChildNodes() )
  			{
  				$node = $node->firstChild;
  			}
  			else
  			{
  				while( true )
  				{
  					if ( is_null( $node->nextSibling ) )
  					{
  						if ( $node->parentNode instanceof \DOMDocument ) return false;
  
  						$node = $node->parentNode;
  					}
  					else
  					{
  						$node = $node->nextSibling;
  						if ( ! is_null( $end ) && $node->isSameNode( $end->getUnderlyingObject() ) ) return false;
  						break;
  					}
  				}
  			}
  
  			if ( XPathNodeType::All == $kind || $node->nodeType == $kind ) break;
  		}
  
  		$this->domNode = $node;
  		return true;
  	}
code: public function MoveToFollowing( $kind, $end = null )
  	{
  		if	(	is_null( $this->domNode ) ||
  				is_null( $kind ) ||
  			  	$this->domNode instanceof \DOMAttr  ||
  				$this->domNode instanceof \DOMNameSpaceNode
  			) return false;
  
  		if ( ! is_null( $end ) && $this->IsSamePosition( $end ) ) return false;
  
  		if ( $this->domNode instanceof \DOMDocument )
  		{
  			$this->domNode = $this->domNode->documentElement;
  			return true;
  		}
  
  		/**
  		 * @var \DOMElement $node
  		 */
  		$node = $this->domNode;
  
  		while( true )
  		{
  			if ( $node->hasChildNodes() )
  			{
  				$node = $node->firstChild;
  			}
  			else
  			{
  				while( true )
  				{
  					if ( is_null( $node->nextSibling ) )
  					{
  						if ( $node->parentNode instanceof \DOMDocument ) return false;
  
  						$node = $node->parentNode;
  					}
  					else
  					{
  						$node = $node->nextSibling;
  						if ( ! is_null( $end ) && $node->isSameNode( $end->getUnderlyingObject() ) ) return false;
  						break;
  					}
  				}
  			}
  
  			if ( XPathNodeType::All == $kind || $node->nodeType == $kind ) break;
  		}
  
  		$this->domNode = $node;
  		return true;
  	}
code_tokens: public function MoveToFollowing ( $ kind , $ end = null ) { if ( is_null ( $ this -> domNode ) || is_null ( $ kind ) || $ this -> domNode instanceof \ DOMAttr || $ this -> domNode instanceof \ DOMNameSpaceNode ) return false ; if ( ! is_null ( $ end ) && $ this -> IsSamePosition ( $ end ) ) return false ; if ( $ this -> domNode instanceof \ DOMDocument ) { $ this -> domNode = $ this -> domNode -> documentElement ; return true ; } /**
  		 * @var \DOMElement $node
  		 */ $ node = $ this -> domNode ; while ( true ) { if ( $ node -> hasChildNodes ( ) ) { $ node = $ node -> firstChild ; } else { while ( true ) { if ( is_null ( $ node -> nextSibling ) ) { if ( $ node -> parentNode instanceof \ DOMDocument ) return false ; $ node = $ node -> parentNode ; } else { $ node = $ node -> nextSibling ; if ( ! is_null ( $ end ) && $ node -> isSameNode ( $ end -> getUnderlyingObject ( ) ) ) return false ; break ; } } } if ( XPathNodeType :: All == $ kind || $ node -> nodeType == $ kind ) break ; } $ this -> domNode = $ node ; return true ; }
docstring: Moves the XPathNavigator to the following element of the XPathNodeType specified, to the boundary specified,
  in document order.
  
  @param XPathNodeType $kind : The XPathNodeType of the element. The XPathNodeType cannot be XPathNodeType.Attribute or
  XPathNodeType.Namespace.
  @param XPathNavigator $end : (optional) The XPathNavigator object positioned on the element boundary which the current
  XPathNavigator will not move past while searching for the following element.
  
  @return bool	true if the XPathNavigator moved successfully; otherwise false.
docstring_tokens: Moves the XPathNavigator to the following element of the XPathNodeType specified to the boundary specified in document order .