def list_documents(
        self,
        parent,
        collection_id,
        page_size=None,
        order_by=None,
        mask=None,
        transaction=None,
        read_time=None,
        show_missing=None,
        retry=google.api_core.gapic_v1.method.DEFAULT,
        timeout=google.api_core.gapic_v1.method.DEFAULT,
        metadata=None,
    ):
        if "list_documents" not in self._inner_api_calls:
            self._inner_api_calls[
                "list_documents"
            ] = google.api_core.gapic_v1.method.wrap_method(
                self.transport.list_documents,
                default_retry=self._method_configs["ListDocuments"].retry,
                default_timeout=self._method_configs["ListDocuments"].timeout,
                client_info=self._client_info,
            )
        google.api_core.protobuf_helpers.check_oneof(
            transaction=transaction, read_time=read_time
        )
        request = firestore_pb2.ListDocumentsRequest(
            parent=parent,
            collection_id=collection_id,
            page_size=page_size,
            order_by=order_by,
            mask=mask,
            transaction=transaction,
            read_time=read_time,
            show_missing=show_missing,
        )
        iterator = google.api_core.page_iterator.GRPCIterator(
            client=None,
            method=functools.partial(
                self._inner_api_calls["list_documents"],
                retry=retry,
                timeout=timeout,
                metadata=metadata,
            ),
            request=request,
            items_field="documents",
            request_token_field="page_token",
            response_token_field="next_page_token",
        )
        return iterator