two-way typeAdapters for MapChange, ReferenceChange, NewObject, ObjectRemoved