private Boolean addOperator(CalculatorReader expressionReader) throws BinaryOperatorException {
        String el = expressionReader.getSymbol();
        BinaryOperator lastBinaryOperator = expressionStack.binaryOperator.get(el);
        if (null != lastBinaryOperator) {
            expressionReader.incPosition();
            //System.out.println("--binaryOperator = " + el);
            int bracketStackCount;
            if (0 == expressionStack.bracketStack.size()) {
                bracketStackCount = 0;
            } else {
                bracketStackCount = expressionStack.bracketStack.peek();
            }
            while (!expressionStack.operatorStack.isEmpty() && ((0 == bracketStackCount) || (1 < (expressionStack.operatorStack.size() - bracketStackCount)))
                    && (expressionStack.operatorStack.peek().compareTo(lastBinaryOperator) < 1)) {
                //System.out.println("==operator = " + operatorStack.peek().getName());
                evaluateOperator();
            }
            expressionStack.operatorStack.push(lastBinaryOperator);
            return true;
        }
        return false;
    }