InternalBuildIdentifier (final IonReader reader, final ReadContext context) { IonType ionType = reader.next(); assertFieldName(reader, "buildIdentifier"); if (ionType == IonType.NULL || ionType == null) { return null; } reader.stepIn(); InternalBuildIdentifier buildIdentifier = context.buildsIdentifiersMap .computeIfAbsent(readInt(reader, OBJECT_ID_FIELD), new SimpleObjectFactory<InternalBuildIdentifier>() { @Override public InternalBuildIdentifier create() { return new InternalBuildIdentifier(assertNotNull(readFile(reader, "rootDir"))); } }); reader.stepOut(); return buildIdentifier; }