public void SaveSuspendedState(BinaryWriter writer)
{
writer.Write(IsEnabled);
writer.Write(IsEditingRegion);
writer.Write(ShowRegion);
writer.Write((int)RegionSelectionMode);
writer.Write((int)RegionSelectionOperation);
writer.Write(RegionFeather);
writer.Write(RegionDilate);
writer.Write(CanUndo);
writer.WriteByteArray(currentRegionMask);
writer.WriteByteArray(previousRegionMask);
writer.WriteCollection(Effects, effect => effect.SaveSuspendedState(writer));
}