function verifyMultiSig(address toAddress, bytes32 operationHash, bytes signature, uint expireTime, uint sequenceId) private returns (address) {

    var otherSigner = recoverAddressFromSignature(operationHash, signature);

    
    if (safeMode && !isSigner(toAddress)) {
      
      throw;
    }
    
    if (expireTime < block.timestamp) {
      
      throw;
    }

    
    tryInsertSequenceId(sequenceId);

    if (!isSigner(otherSigner)) {
      
      throw;
    }
    if (otherSigner == msg.sender) {
      
      throw;
    }

    return otherSigner;
  }