/// <summary>
        /// Determines whether this instance [can be destination field] the specified field.
        /// </summary>
        /// <param name="field">The field.</param>
        /// <returns><c>true</c> if this instance [can be destination field] the specified field; otherwise, <c>false</c>.</returns>
        private static bool CanBeDestinationField(FieldEdit field)
        {
            if (field.IsDeleted || field.IsCalculated())
                return false;

            return CanBeDestinationField(field.GetColumnType());
        }
        /// <summary>
        /// Determines whether this instance [can be destination field] the specified field.
        /// </summary>
        /// <param name="field">The field.</param>
        /// <returns><c>true</c> if this instance [can be destination field] the specified field; otherwise, <c>false</c>.</returns>
        private static bool CanBeDestinationField(FieldEdit field)
        {
            if (field.IsDeleted || field.IsCalculated())
                return false;

            if (field.ColumnType == ColumnTypes.Reference || field.ColumnType == ColumnTypes.MultiReference)
            {
                var requiredStep = field.GetStep<CrossRefRequiredStepEdit>();
                if (requiredStep == null || requiredStep.CrossRefProcessId == null)
                    return false;
            }

            return CanBeDestinationField(field.ColumnType);
        }