private TextBuffer wrapOperandString(Exprent expr, boolean eq, int indent, BytecodeMappingTracer tracer) {
    int myprec = getPrecedence();
    int exprprec = expr.getPrecedence();

    boolean parentheses = exprprec > myprec;
    if (!parentheses && eq) {
      parentheses = (exprprec == myprec);
      if (parentheses) {
        if (expr.type == Exprent.EXPRENT_FUNCTION &&
            ((FunctionExprent)expr).getFuncType() == funcType) {
          parentheses = !ASSOCIATIVITY.contains(funcType);
        }
      }
    }

    TextBuffer res = expr.toJava(indent, tracer);

    if (parentheses) {
      res.enclose("(", ")");
    }

    return res;
  }
private TextBuffer wrapOperandString(Exprent expr, boolean eq, int indent, BytecodeMappingTracer tracer)