code: private void createStates(PropertyData prevProperty, PropertyData newProperty)
     {
        ReadOnlyChangedSizeHandler delChangedSizeHandler = null;
        ReadOnlyChangedSizeHandler addChangedSizeHandler = null;
  
        if (prevProperty instanceof PersistedPropertyData)
        {
           PersistedPropertyData persistedPrevProp = (PersistedPropertyData)prevProperty;
  
           delChangedSizeHandler = new ReadOnlyChangedSizeHandler(0, persistedPrevProp.getPersistedSize());
           addChangedSizeHandler = new ReadOnlyChangedSizeHandler(persistedPrevProp.getPersistedSize(), 0);
        }
  
        addStates.add(new ItemState(newProperty, ItemState.RENAMED, false, ancestorToSave, false, false, null,
           addChangedSizeHandler));
        deleteStates.add(new ItemState(prevProperty, ItemState.DELETED, false, ancestorToSave, false, false, null,
           delChangedSizeHandler));
     }
docs: Creates item states and adds them to changes log. If possible tries
  to inject {@link ChangedSizeHandler} to manage data size changes.
  
  @param prevProperty
  {@link PropertyData} currently exists into storage.
  @param newProperty
  {@link PropertyData} will be saved to the storage