internal void Reset() { GremlinVariable inputVariable = null; if (VariableList.First() is GremlinContextVariable) { inputVariable = VariableList.First(); } ParentContext = null; PivotVariable = null; VariableList.Clear(); ProjectedProperties.Clear(); TableReferences.Clear(); MatchPathList.Clear(); Predicates = null; StepList.Clear(); ContextLocalPath = null; //TODO: reserve the InputVariable, used for repeat step, should be refactored later if (inputVariable != null) { VariableList.Add(inputVariable); } }