public static GremlinUnfoldVariable Create(GremlinVariable inputVariable) { switch (inputVariable.GetUnfoldVariableType()) { case GremlinVariableType.Vertex: return(new GremlinUnfoldVertexVariable(inputVariable)); case GremlinVariableType.Edge: return(new GremlinUnfoldEdgeVariable(inputVariable)); case GremlinVariableType.Scalar: return(new GremlinUnfoldScalarVariable(inputVariable)); case GremlinVariableType.Property: return(new GremlinUnfoldPropertyVariable(inputVariable)); } return(new GremlinUnfoldTableVariable(inputVariable)); }