code: def new(cls, signatures: [Signature]) -> 'MultiSignature':
          
          logger = logging.getLogger(__name__)
          logger.debug("MultiSignature::new: >>>")
  
          # noinspection PyCallingNonCallable,PyTypeChecker
          signature_c_instances = (c_void_p * len(signatures))()
          for i in range(len(signatures)):
              signature_c_instances[i] = signatures[i].c_instance
  
          c_instance = c_void_p()
          do_call(cls.new_handler, signature_c_instances, len(signatures), byref(c_instance))
  
          res = cls(c_instance)
  
          logger.debug("MultiSignature::new: <<< res: %r", res)
          return res
docs: Creates and returns BLS multi signature that corresponds to the given signatures list.
          :param: signature - List of signatures
          :return: BLS multi signature