- out.writeInt(modifications.size());
-
- if(modifications.size() > 1) {
- SerializationUtils.REUSABLE_WRITER_TL.set(NormalizedNodeInputOutput.newDataOutput(out));
- }
-
- try {
- for(Modification mod: modifications) {
- out.writeByte(mod.getType());
- mod.writeExternal(out);
- }
- } finally {
- SerializationUtils.REUSABLE_WRITER_TL.remove();
- }
- }
-
- @Override
- @Deprecated
- protected Object newLegacySerializedInstance() {
- if(getVersion() >= DataStoreVersions.LITHIUM_VERSION) {
- return this;
- } else {
- PersistentMessages.CompositeModification.Builder builder =
- PersistentMessages.CompositeModification.newBuilder();
-
- builder.setTimeStamp(System.nanoTime());
-
- for (Modification m : modifications) {
- builder.addModification((PersistentMessages.Modification) m.toSerializable());
+ final int size = modifications.size();
+ out.writeInt(size);
+ if (size > 0) {
+ try (NormalizedNodeDataOutput stream = NormalizedNodeInputOutput.newDataOutput(out, getStreamVersion())) {
+ for (Modification mod : modifications) {
+ out.writeByte(mod.getType());
+ mod.writeTo(stream);
+ }