code: def canPrepare(self, ppReq) -> (bool, str):
          
          if self.has_sent_prepare(ppReq):
              return False, 'has already sent PREPARE for {}'.format(ppReq)
          return True, ''
docs: Return whether the batch of requests in the PRE-PREPARE can
          proceed to the PREPARE step.
  
          :param ppReq: any object with identifier and requestId attributes