@Override
    protected void preLogCommitHook() {
      super.preLogCommitHook();
      RepNode rmMasterNode = repEnvInfo[0].getRepNode();
      int size = rmMasterNode.getGroup().getAllElectableMembers().size();
      int delNodes = ((size & 1) == 1) ? 2 : 1;
      int closeNodeIndex = (size - delNodes) - 1;

      /*
       * The loop below simulates the concurrent removal of a node while
       * a transaction is in progress. It deletes a sufficient number of
       * nodes so as to get a lower simple nodes to get to a new lower
       * simple majority.
       */
      for (int i = repEnvInfo.length - 1; delNodes-- > 0; i--) {
        repEnvInfo[i].closeEnv();
        rmMasterNode.removeMember(repEnvInfo[i].getRepConfig().getNodeName(), delete);
      }

      /*
       * Shut down an additional undeleted Replica to provoke a
       * lack of acks based on the old simple majority.
       */
      repEnvInfo[closeNodeIndex].closeEnv();
    }