original_string: public function find($key, $type) {
          if (!$this->initialised) {
              $this->initialise();
          }
          if ($type == self::TYPE_ROOTNODE && array_key_exists($key, $this->rootnodes)) {
              return $this->rootnodes[$key];
          }
          return parent::find($key, $type);
      }
code: public function find($key, $type) {
          if (!$this->initialised) {
              $this->initialise();
          }
          if ($type == self::TYPE_ROOTNODE && array_key_exists($key, $this->rootnodes)) {
              return $this->rootnodes[$key];
          }
          return parent::find($key, $type);
      }
code_tokens: public function find ( $ key , $ type ) { if ( ! $ this -> initialised ) { $ this -> initialise ( ) ; } if ( $ type == self :: TYPE_ROOTNODE && array_key_exists ( $ key , $ this -> rootnodes ) ) { return $ this -> rootnodes [ $ key ] ; } return parent :: find ( $ key , $ type ) ; }
docstring: Searches this nodes children and their children to find a navigation node
  with the matching key and type.
  
  This method is recursive and searches children so until either a node is
  found or there are no more nodes to search.
  
  If you know that the node being searched for is a child of this node
  then use the {@link global_navigation::get()} method instead.
  
  Note: If you are trying to set the active node {@link navigation_node::override_active_url()}
  may be of more use to you.
  
  @param string|int $key The key of the node you wish to receive.
  @param int $type One of navigation_node::TYPE_*
  @return navigation_node|false
docstring_tokens: Searches this nodes children and their children to find a navigation node with the matching key and type .