docs: def sign(self, node):
          """
          Signs a Signature node
          :param node: Signature node 
          :type node: lxml.etree.Element
          :return: None
          """
          signed_info = node.find('ds:SignedInfo', namespaces=constants.NS_MAP)
          signature_method = signed_info.find('ds:SignatureMethod',
                                              namespaces=constants.NS_MAP).get(
              'Algorithm')
          key_info = node.find('ds:KeyInfo', namespaces=constants.NS_MAP)
          if key_info is not None:
              self.fill_key_info(key_info, signature_method)
          self.fill_signed_info(signed_info)
          self.calculate_signature(node)