internal CanvasDocument(CanvasDocument other)
        {
            foreach (var kvp in other._unknownFiles)
            {
                _unknownFiles.Add(kvp.Key, new FileEntry(kvp.Value));
            }

            foreach (var kvp in other._assetFiles)
            {
                _assetFiles.Add(kvp.Key, new FileEntry(kvp.Value));
            }

            foreach (var kvp in other._screens)
            {
                _screens.Add(kvp.Key, kvp.Value.Clone());
            }

            foreach (var kvp in other._components)
            {
                _components.Add(kvp.Key, kvp.Value.Clone());
            }

            _editorStateStore = new EditorStateStore(other._editorStateStore);
            _templateStore = new TemplateStore(other._templateStore);

            _dataSources = other._dataSources.JsonClone();
            _screenOrder = new List<string>(other._screenOrder);

            _header = other._header.JsonClone();
            _properties = other._properties.JsonClone();
            _publishInfo = other._publishInfo.JsonClone();
            _templates = other._templates.JsonClone();
            _themes = other._themes.JsonClone();
            _resourcesJson = other._resourcesJson.JsonClone();
            _appCheckerResultJson = other._appCheckerResultJson.JsonClone();

            _connections = other._connections.JsonClone();

            _dataSourceReferences = other._dataSourceReferences.JsonClone();
            _libraryReferences = other._libraryReferences.JsonClone();

            _logoFile = other._logoFile != null ? new FileEntry(other._logoFile) : null;
            _entropy = other._entropy.JsonClone();
            _checksum = other._checksum.JsonClone();
        }
 public ThemeChange(ThemesJson theme)
 {
     _theme = theme;
 }