code: private char getStringConcatenationTypeCharacter(Expression operand) {
      TypeMirror operandType = operand.getTypeMirror();
      if (operandType.getKind().isPrimitive()) {
        return TypeUtil.getBinaryName(operandType).charAt(0);
      } else if (typeUtil.isString(operandType)) {
        return '$';
      } else {
        return '@';
      }
    }
docs: Returns a character to indicate the type of an argument.
  '$' for String, '@' for other objects, and the binary name character for
  the primitives.