code: def get_classification_nodes(self, project, ids, depth=None, error_policy=None):
          
          route_values = {}
          if project is not None:
              route_values['project'] = self._serialize.url('project', project, 'str')
          query_parameters = {}
          if ids is not None:
              ids = ",".join(map(str, ids))
              query_parameters['ids'] = self._serialize.query('ids', ids, 'str')
          if depth is not None:
              query_parameters['$depth'] = self._serialize.query('depth', depth, 'int')
          if error_policy is not None:
              query_parameters['errorPolicy'] = self._serialize.query('error_policy', error_policy, 'str')
          response = self._send(http_method='GET',
                                location_id='a70579d1-f53a-48ee-a5be-7be8659023b9',
                                version='5.1-preview.2',
                                route_values=route_values,
                                query_parameters=query_parameters)
          return self._deserialize('[WorkItemClassificationNode]', self._unwrap_collection(response))
docs: GetClassificationNodes.
          [Preview API] Gets root classification nodes or list of classification nodes for a given list of nodes ids, for a given project. In case ids parameter is supplied you will  get list of classification nodes for those ids. Otherwise you will get root classification nodes for this project.
          :param str project: Project ID or project name
          :param [int] ids: Comma seperated integer classification nodes ids. It's not required, if you want root nodes.
          :param int depth: Depth of children to fetch.
          :param str error_policy: Flag to handle errors in getting some nodes. Possible options are Fail and Omit.
          :rtype: [WorkItemClassificationNode]