def __init__(self, imap_command):
        self.log = logging.getLogger("%s.%s" % (__name__, self.__class__.__name__))
        self.input = imap_command
        self.uid_command = False
        self.tag = None
        self.command = None

        # If this is a command which we had to stop processing part way through
        # due to it taking too long 'needs_continuation' will be set to true so
        # that that the command process will know how to handle this unfinished
        # command.
        #
        self.needs_continuation = False

        # Frequently (always?) a command that needed continuation needed it
        # because it had too many messages to process (fetch, search, store) in
        # a short time. In those cases we keep track of the messages we still
        # need to process as a list in 'message_squence'. This way following
        # processing of this command will be able to pick up where it left off.
        #
        self.msg_idxs = None

        # The 'SEARCH' command does not return its results in a series of
        # responses but in a single SEARCH response. Thus when doing
        # continuations we need to collect the results inside the IMAP command
        # and then when it is done we send it back to our caller. Our caller
        # knows now to use the search results it gets from the search command
        # until the imap command comes back 'needs_continuation == False'
        #
        self.search_results = []
        return

    ##################################################################
    #
Processes an entity and adds to the global statistics.
dataset/ETHPy150Open scanner/asimap/asimap/parse.py/IMAPClientCommand.__init__--crossover with--dataset/ETHPy150Open AppScale/appscale/AppDB/groomer.py/DatastoreGroomer.process_statistics