      def get_docs(self, vocab: Vocab) -> Iterator[Doc]:
          """Recover Doc objects from the annotations, using the given vocab.
  
          vocab (Vocab): The shared vocab.
          YIELDS (Doc): The Doc objects.
  
 
</s> remove         if self.store_user_data:
            self.user_data.append(srsly.msgpack_dumps(doc.user_data))
 </s> add         self.user_data.append(srsly.msgpack_dumps(doc.user_data)) </s> remove         DocBins don't match.
 </s> add         DocBins don't match, or if they differ in whether or not to store
        user data. </s> remove         if self.store_user_data:
            self.user_data.extend(other.user_data)
 </s> add         self.user_data.extend(other.user_data) </s> remove         store_user_data (bool): Whether to include the `Doc.user_data`.
 </s> add         store_user_data (bool): Whether to write the `Doc.user_data` to bytes/file. </s> remove             if self.store_user_data:
 </s> add             if i < len(self.user_data) and self.user_data[i] is not None:
        Note that the user data of each doc will be read (if available) and returned,
        regardless of the setting of 'self.store_user_data'.
      def get_docs(self, vocab: Vocab) -> Iterator[Doc]:
          """Recover Doc objects from the annotations, using the given vocab.
        Note that the user data of each doc will be read (if available) and returned,
        regardless of the setting of 'self.store_user_data'.
  
          vocab (Vocab): The shared vocab.
          YIELDS (Doc): The Doc objects.
  
keep add keep keep keep keep
 small UX fix for DocBin (#6167)

* add informative warning when messing up store_user_data DocBin flags

* add informative warning when messing up store_user_data DocBin flags

* cleanup test

* rename to patterns_path 
spacy/tokens/_serialize.py