public override string GetStepParameters()
        {
            var parameters = new List <string>();

            parameters.Add(Name != null ? Name.ToStepValue() : "$");
            parameters.Add(DataOrigin.ToStepValue());
            parameters.Add(UserDefinedDataOrigin != null ? UserDefinedDataOrigin.ToStepValue() : "$");
            parameters.Add(DurationType.ToStepValue());
            parameters.Add(ScheduleDuration != null ? ScheduleDuration.ToStepValue() : "$");
            parameters.Add(ScheduleStart != null ? ScheduleStart.ToStepValue() : "$");
            parameters.Add(ScheduleFinish != null ? ScheduleFinish.ToStepValue() : "$");
            parameters.Add(EarlyStart != null ? EarlyStart.ToStepValue() : "$");
            parameters.Add(EarlyFinish != null ? EarlyFinish.ToStepValue() : "$");
            parameters.Add(LateStart != null ? LateStart.ToStepValue() : "$");
            parameters.Add(LateFinish != null ? LateFinish.ToStepValue() : "$");
            parameters.Add(FreeFloat != null ? FreeFloat.ToStepValue() : "$");
            parameters.Add(TotalFloat != null ? TotalFloat.ToStepValue() : "$");
            parameters.Add(IsCritical != null ? IsCritical.ToStepValue() : "$");
            parameters.Add(StatusTime != null ? StatusTime.ToStepValue() : "$");
            parameters.Add(ActualDuration != null ? ActualDuration.ToStepValue() : "$");
            parameters.Add(ActualStart != null ? ActualStart.ToStepValue() : "$");
            parameters.Add(ActualFinish != null ? ActualFinish.ToStepValue() : "$");
            parameters.Add(RemainingTime != null ? RemainingTime.ToStepValue() : "$");
            parameters.Add(Completion != null ? Completion.ToStepValue() : "$");
            parameters.Add(Recurrence != null ? Recurrence.ToStepValue() : "$");

            return(string.Join(", ", parameters.ToArray()));
        }