original_string: public function MoveToChild( $kind )
  	{
  		if ( is_null( $this->domNode ) ||
  			 is_null( $kind ) ||
  			 ! property_exists( $this->domNode, 'firstChild') // ||
  			 // ! $this->domNode->hasChildNodes()
  		   ) return false;
  
  		// Create a list of the valid DOM node types based on the $kind value
  		$domNodeTypes = array_keys( array_filter(
  			\lyquidity\XPath2\DOM\DOMXPathNavigator::$nodeTypeMap,
  			function( $nodeType ) use( $kind )
  			{
  				return $kind == \lyquidity\xml\xpath\XPathNodeType::All || $nodeType == $kind;
  			}
  		) );
  
  		// Take a copy of the dom node
  		/** @var \DOMNode $next */
  		$next = $this->domNode->firstChild;
  		if ( is_null( $next ) ) return;
  
  		do
  		{
  			// If the $next node type is valid then store the next node type as the new dom node and return true
  			if ( in_array( $next->nodeType, $domNodeTypes ) )
  			{
  				$this->domNode = $next;
  				return true;
  			}
  		}
  		while( ! is_null( $next = $next->nextSibling ) );
  
  		return false;
  	}
code: public function MoveToChild( $kind )
  	{
  		if ( is_null( $this->domNode ) ||
  			 is_null( $kind ) ||
  			 ! property_exists( $this->domNode, 'firstChild') // ||
  			 // ! $this->domNode->hasChildNodes()
  		   ) return false;
  
  		// Create a list of the valid DOM node types based on the $kind value
  		$domNodeTypes = array_keys( array_filter(
  			\lyquidity\XPath2\DOM\DOMXPathNavigator::$nodeTypeMap,
  			function( $nodeType ) use( $kind )
  			{
  				return $kind == \lyquidity\xml\xpath\XPathNodeType::All || $nodeType == $kind;
  			}
  		) );
  
  		// Take a copy of the dom node
  		/** @var \DOMNode $next */
  		$next = $this->domNode->firstChild;
  		if ( is_null( $next ) ) return;
  
  		do
  		{
  			// If the $next node type is valid then store the next node type as the new dom node and return true
  			if ( in_array( $next->nodeType, $domNodeTypes ) )
  			{
  				$this->domNode = $next;
  				return true;
  			}
  		}
  		while( ! is_null( $next = $next->nextSibling ) );
  
  		return false;
  	}
code_tokens: public function MoveToChild ( $ kind ) { if ( is_null ( $ this -> domNode ) || is_null ( $ kind ) || ! property_exists ( $ this -> domNode , 'firstChild' ) // ||
   // ! $this->domNode->hasChildNodes()
   ) return false ; // Create a list of the valid DOM node types based on the $kind value
   $ domNodeTypes = array_keys ( array_filter ( \ lyquidity \ XPath2 \ DOM \ DOMXPathNavigator :: $ nodeTypeMap , function ( $ nodeType ) use ( $ kind ) { return $ kind == \ lyquidity \ xml \ xpath \ XPathNodeType :: All || $ nodeType == $ kind ; } ) ) ; // Take a copy of the dom node
   /** @var \DOMNode $next */ $ next = $ this -> domNode -> firstChild ; if ( is_null ( $ next ) ) return ; do { // If the $next node type is valid then store the next node type as the new dom node and return true
   if ( in_array ( $ next -> nodeType , $ domNodeTypes ) ) { $ this -> domNode = $ next ; return true ; } } while ( ! is_null ( $ next = $ next -> nextSibling ) ) ; return false ; }
docstring: Moves the XPathNavigator to the child node of the XPathNodeType specified.
  
  @param XPathNodeType $kind The XPathNodeType of the child node to move to.
  @return bool Returns true if the XPathNavigator is successful moving to the child node; otherwise, false.
  If false, the position of the XPathNavigator is unchanged.
docstring_tokens: Moves the XPathNavigator to the child node of the XPathNodeType specified .