code: public JavaWriter emitAnnotation(String annotation, Object value) throws IOException {
      indent();
      out.write("@");
      emitCompressedType(annotation);
      out.write("(");
      emitAnnotationValue(value);
      out.write(")");
      out.write("\n");
      return this;
    }
docs: Annotates the next element with {@code annotation} and a {@code value}.
  
  @param value an object used as the default (value) parameter of the annotation. The value will
  be encoded using Object.toString(); use {@link #stringLiteral} for String values. Object
  arrays are written one element per line.