code: protected function getTreeParentIdLevelAndLanguage($parentId, $nbLevel, $language, $siteId)
      {
          $result = array();
  
          if ($nbLevel >= 0) {
              $qa = $this->buildTreeRequest($language, $siteId);
              $qa->match(array('parentId' => $parentId));
  
              $nodes = $this->hydrateAggregateQuery($qa);
              $result = $nodes;
  
              if (is_array($nodes)) {
                  foreach ($nodes as $node) {
                      $temp = $this->getTreeParentIdLevelAndLanguage($node->getNodeId(), $nbLevel-1, $language, $siteId);
                      $result = array_merge($result, $temp);
                  }
              }
          }
  
          return $result;
      }
docs: @param string $parentId
  @param int    $nbLevel
  @param string $language
  @param string $siteId
  
  @return array