@Override
    public void close() throws IOException {
      throw new AssertionError();
    }
Adapter of {@link JsonReader GSON Reader} reading directly from
<a href="http://bsonspec.org/">BSON encoded</a> documents.
It delegates most of the calls to {@link org.bson.BsonReader} which understands binary JSON
representation (default wire protocol
between mongo server and client). This class allows to instantiate immutable objects directly
from binary stream (eg. {@code byte[]}) bypassing intermediate
object instantiation (typically {@code byte[] -> DBObject-> Immutable} ). Internally generated
GSON {@link com.google.gson.TypeAdapter} will
read incoming bytes as stream API.
@see BsonWriter
@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/BsonReader.java