class_docstr: Ssurgeon context window
  
  This is a context window which keeps a process open.  Should allow
  for multiple requests without launching new java processes each time.
class_docstr_tok: ["Ssurgeon","context","window","This","is","a","context","window","which","keeps","a","process","open",".","Should","allow","for","multiple","requests","without","launching","new","java","processes","each","time","."]
docstr: Apply each of the ssurgeon patterns to each of the dependency trees in doc
docstr_tok: ["Apply","each","of","the","ssurgeon","patterns","to","each","of","the","dependency","trees","in","doc"]
code: def process(self, doc, ssurgeon_edits):
      """
      Apply each of the ssurgeon patterns to each of the dependency trees in doc
      """
      request = build_request(doc, ssurgeon_edits)
      return self.process_request(request)
  
imports: import argparse
  import copy
  import os
  import re
  import sys
  from stanza.models.common.utils import misc_to_space_after, space_after_to_misc
  from stanza.protobuf import SsurgeonRequest, SsurgeonResponse
  from stanza.server import java_protobuf_requests
  from stanza.utils.conll import CoNLL
  from stanza.models.common.doc import ID, TEXT, LEMMA, UPOS, XPOS, FEATS, HEAD, DEPREL, DEPS, MISC, START_CHAR, END_CHAR, NER, Word, Token, Sentence
label_desc: Use image node_id 2 for calling the Ssurgeon obj's underlying member method code with example usage: obj.process(doc, ssurgeon_edits) and returns: self