public int compare(MakeOrderAccount left, MakeOrderAccount right) {
      int leftHasClose = left.isOpen() ? 1 : 0;
      int rightHasClose = right.isOpen() ? 1 : 0;
      int result = leftHasClose - rightHasClose;
      if (result != 0) return result;

      BigDecimal leftLot = left._isBuyForCurrent ? left._buyLot : left._sellLot;
      BigDecimal rightLot = right._isBuyForCurrent ? right._buyLot : right._sellLot;

      result = leftLot.compareTo(rightLot);
      if (result != 0) return -result;

      return left._account.get_Code().compareTo(right._account.get_Code());
    }