original_string: public function find_expandable(array &$expandable) {
          foreach ($this->children as &$child) {
              if ($child->display && $child->has_children() && $child->children->count() == 0) {
                  $child->id = 'expandable_branch_'.$child->type.'_'.clean_param($child->key, PARAM_ALPHANUMEXT);
                  $this->add_class('canexpand');
                  $child->requiresajaxloading = true;
                  $expandable[] = array('id' => $child->id, 'key' => $child->key, 'type' => $child->type);
              }
              $child->find_expandable($expandable);
          }
      }
code: public function find_expandable(array &$expandable) {
          foreach ($this->children as &$child) {
              if ($child->display && $child->has_children() && $child->children->count() == 0) {
                  $child->id = 'expandable_branch_'.$child->type.'_'.clean_param($child->key, PARAM_ALPHANUMEXT);
                  $this->add_class('canexpand');
                  $child->requiresajaxloading = true;
                  $expandable[] = array('id' => $child->id, 'key' => $child->key, 'type' => $child->type);
              }
              $child->find_expandable($expandable);
          }
      }
code_tokens: public function find_expandable ( array & $ expandable ) { foreach ( $ this -> children as & $ child ) { if ( $ child -> display && $ child -> has_children ( ) && $ child -> children -> count ( ) == 0 ) { $ child -> id = 'expandable_branch_' . $ child -> type . '_' . clean_param ( $ child -> key , PARAM_ALPHANUMEXT ) ; $ this -> add_class ( 'canexpand' ) ; $ child -> requiresajaxloading = true ; $ expandable [ ] = array ( 'id' => $ child -> id , 'key' => $ child -> key , 'type' => $ child -> type ) ; } $ child -> find_expandable ( $ expandable ) ; } }
docstring: Finds all nodes that are expandable by AJAX
  
  @param array $expandable An array by reference to populate with expandable nodes.
docstring_tokens: Finds all nodes that are expandable by AJAX