func createConceptStep(spec *gauge.Specification, concept *gauge.Step, originalStep *gauge.Step) { stepCopy := concept.GetCopy() originalArgs := originalStep.Args originalStep.CopyFrom(stepCopy) originalStep.Args = originalArgs // set parent of all concept steps to be the current concept (referred as originalStep here) // this is used to fetch from parent's lookup when nested for _, conceptStep := range originalStep.ConceptSteps { conceptStep.Parent = originalStep } spec.PopulateConceptLookup(&originalStep.Lookup, concept.Args, originalStep.Args) }