code: def apply(
          self,
          docs=None,
          split=0,
          train=False,
          clear=True,
          parallelism=None,
          progress_bar=True,
      ):
          
          if docs:
              # Call apply on the specified docs for all splits
              split = ALL_SPLITS
              super(Featurizer, self).apply(
                  docs,
                  split=split,
                  train=train,
                  clear=clear,
                  parallelism=parallelism,
                  progress_bar=progress_bar,
              )
              # Needed to sync the bulk operations
              self.session.commit()
          else:
              # Only grab the docs containing candidates from the given split.
              split_docs = get_docs_from_split(
                  self.session, self.candidate_classes, split
              )
              super(Featurizer, self).apply(
                  split_docs,
                  split=split,
                  train=train,
                  clear=clear,
                  parallelism=parallelism,
                  progress_bar=progress_bar,
              )
              # Needed to sync the bulk operations
              self.session.commit()
docs: Apply features to the specified candidates.
  
          :param docs: If provided, apply features to all the candidates in these
              documents.
          :param split: If docs is None, apply features to the candidates in this
              particular split.
          :type split: int
          :param train: Whether or not to update the global key set of features
              and the features of candidates.
          :type train: bool
          :param clear: Whether or not to clear the features table before
              applying features.
          :type clear: bool
          :param parallelism: How many threads to use for extraction. This will
              override the parallelism value used to initialize the Featurizer if
              it is provided.
          :type parallelism: int
          :param progress_bar: Whether or not to display a progress bar. The
              progress bar is measured per document.
          :type progress_bar: bool