public void Compare()
        {
            foreach (var dataType in configuration.DataTypes.Values)
            {
                var datatypeDiff = AddDataType(dataType.Configuration);
                datatypeDiff.Compare();
            }

            foreach (var template in configuration.Templates.Values)
            {
                var templateDiff = AddTemplate(template.Configuration);
                templateDiff.Compare();
            }

            foreach (var docType in configuration.DocumentTypes.Values)
            {
                var docTypeDiff = AddDocumentType(docType.Configuration);
                docTypeDiff.Compare();
            }

            Safe = DocumentTypes.All(t => !t.Value.IsUnsafe) &&
                   DataTypes.All(t => !t.Value.IsUnsafe) &&
                   Templates.All(t => !t.Value.IsUnsafe);
        }