@Override
  public com.google.gson.stream.JsonWriter value(boolean value) throws IOException {
    delegate.writeBoolean(value);
    return this;
  }
Adapter of {@link com.google.gson.stream.JsonWriter GSON Writer} writing JSON documents in <a href="http://bsonspec.org/">BSON format</a>
It delegates most of the calls to {@link org.bson.BsonWriter} which can serialize document representation in BSON binary version (default wire protocol
between mongo server and client). This allows to write / persist immutable objects directly into binary, bypassing intermediate
object representation (typically Immutable -> DBObject-> byte[]} ). Generated Gson {@link com.google.gson.TypeAdapter} takes care of
reading the object and calling write methods as a stream API.

@see BsonReader
@see <a href="http://mongodb.github.io/mongo-java-driver/3.5/bson/">Mongo Driver (BSON)</a>
@see <a href="http://bsonspec.org/">BSON spec</a>
mongo/src/org/immutables/mongo/bson4gson/BsonWriter.java