IMemberData[] getDynamicMembers()
            {
                var dynamicMembers = (IMemberData[])TestStepTypeData.DynamicMembers.GetValue(Target);

                if (Target is ITestStepParent step)
                {
                    // if it is a test step type, check that the parameters declared on a parent step
                    // actually comes from a child step.
                    if (!ParameterManager.CheckParameterSanity(step, dynamicMembers))
                    {
                        // members modified, reload.
                        dynamicMembers = (IMemberData[])TestStepTypeData.DynamicMembers.GetValue(Target);
                    }
                }
                return(dynamicMembers ?? Array.Empty <IMemberData>());
            }