docs: def _collection_with_options(self, kwargs):
          """ Returns a copy of the pymongo collection with various options set up """
  
          # class DocumentClassWithFields(self.document_class):
          #     _fetched_fields = kwargs.get("projection")
          #     mongokat_collection = self
  
          read_preference = kwargs.get("read_preference") or getattr(self.collection, "read_preference", None) or ReadPreference.PRIMARY
  
          if "read_preference" in kwargs:
              del kwargs["read_preference"]
  
          # Simplified tag usage
          if "read_use" in kwargs:
              if kwargs["read_use"] == "primary":
                  read_preference = ReadPreference.PRIMARY
              elif kwargs["read_use"] == "secondary":
                  read_preference = ReadPreference.SECONDARY
              elif kwargs["read_use"] == "nearest":
                  read_preference = ReadPreference.NEAREST
              elif kwargs["read_use"]:
                  read_preference = read_preferences.Secondary(tag_sets=[{"use": kwargs["read_use"]}])
              del kwargs["read_use"]
  
          write_concern = None
          if kwargs.get("w") is 0:
              write_concern = WriteConcern(w=0)
          elif kwargs.get("write_concern"):
              write_concern = kwargs.get("write_concern")
  
          codec_options = CodecOptions(
              document_class=(
                  self.document_class,
                  {
                      "fetched_fields": kwargs.get("projection"),
                      "mongokat_collection": self
                  }
              )
          )
  
          return self.collection.with_options(
              codec_options=codec_options,
              read_preference=read_preference,
              write_concern=write_concern
          )