code: public function categories($categoryIds, $deploymentSiteIds = null, $ignoreGrouping = false, CachePolicy $cachePolicy = null)
      {
          $parameters = [
              'query' => ['deploymentSiteIds' => $deploymentSiteIds, 'ignoreGrouping' => $ignoreGrouping],
              'body' => json_encode([], JSON_UNESCAPED_UNICODE),
              'headers' => [],
          ];
  
          $result = $this->get('v1/filters/categories/' . $categoryIds . '', $parameters, $cachePolicy);
          foreach ($result as &$entry) {
              $entry = new FilterItem($entry);
          }
          unset($entry);
          reset($result);
  
          return $result;
      }
docs: Returns a array of FilterItem for the chosen categories.
  
  , optionally filtered by specific DeploymentSites.
  
  @param string      $categoryIds       comma separated string categoryIds we should fetch mediaIds for
  @param string      $deploymentSiteIds comma separated string of deploymentSiteIds we should fetch mediaIds for
  @param bool        $ignoreGrouping    whether to include grouped media or not
  @param CachePolicy $cachePolicy       a custom cache policy used for this request only
  
  @return FilterItem[]