code: protected String binaryOperator(final BinaryOperator operator, final String opString) {
          final String leftString = operator.type().precedence() < operator.left().type().precedence()
                  ? this.toString(operator.left()) : this.bracket(operator.left());
          final String rightString = operator.type().precedence() < operator.right().type().precedence()
                  ? this.toString(operator.right()) : this.bracket(operator.right());
          return String.format("%s%s%s", leftString, opString, rightString);
      }
docs: Returns the string representation of a binary operator.
  
  @param operator the binary operator
  @param opString the operator string
  @return the string representation