private DestinationFieldList CreateDestinationItem(ProcessInfo process, string uniqueName, string name)
        {
            var destination = new DestinationFieldList { ExpressionName = name, UniqueName = uniqueName };

            AddStateFields(process, destination);
            AddVersionFields(process, destination);
            AddLastModifiedOnField(destination);

            foreach (var field in process.GetAllFields().Where(x => x.SystemName != Constants.IdColumnName && CanBeDestinationField(x)))
            {
                var destinationField = CreateDestinationField(field, process.SystemName, destination);

                destination.Fields.Add(destinationField);
            }

            return destination;
        }
        private SourceFieldList CreateSourceItem(
            ProcessInfo process,
            string uniqueName,
            string name,
            string objectName)
        {
            var source = new SourceFieldList { ExpressionName = name, UniqueName = uniqueName };

            AddIdFields(process, source, objectName, SourceFieldSetNames.DataTriggerSourceItem);
            AddStateFields(process, source, objectName, SourceFieldSetNames.DataTriggerSourceItem);
            AddVersionFields(process, source, objectName, SourceFieldSetNames.DataTriggerSourceItem);
            AddLastModifiedOnField(source, objectName, SourceFieldSetNames.DataTriggerSourceItem);

            foreach (var field in process.GetAllFields().Where(CanBeSourceField))
            {
                var sourceField = CreateSourceField(field, process.SystemName, source);
                sourceField.ObjectName = objectName;
                source.Fields.Add(sourceField);
            }

            return source;
        }