anchor.diff:                      let tree = new Tree<_>(terminals.ToArray(), nodes.[res], parserSource.Rules, Some parserSource.LeftSide, Some parserSource.NumToString)
   //                    tree.AstToDot parserSource.NumToString parserSource.TokenToNumber parserSource.TokenData parserSource.LeftSide "../../../Tests/AbstractRNGLR/DOT/sppf.dot"
   //
  -//                    let gssInitVertices = 
  -//                       innerGraph.Edges |> Seq.collect (fun e -> e.Source.processedGssVertices)
  -//
  -//                    drawDot parserSource.TokenToNumber terminals parserSource.LeftSide gssInitVertices parserSource.NumToString parserSource.ErrorIndex "../../../Tests/AbstractRNGLR/DOT/gss.dot"
  +                    let gssInitVertices = 
  +                       innerGraph.Edges |> Seq.collect (fun e -> e.Source.processedGssVertices)
  +
  +                    drawDot parserSource.TokenToNumber terminals parserSource.LeftSide gssInitVertices parserSource.NumToString parserSource.ErrorIndex "../../../Tests/AbstractRNGLR/DOT/gss.dot"
   
                       Success <| tree
                   with
  
positive.code:                 then
                      let prefixesToAdd = new ResizeArray<Prefix<_>>()
  
                      prefixesToAdd.Add(newPrefix gssVertexesToPrefixes.[gssVertex] e)
                      addEdge e.Target isNew tailGssV edge true prefixesToAdd    //push case
  
          if not <| currentGraphV.processedGssVertices.Contains(gssVertex)
  
negative.code:         then startV.passingReductions.Add((newVertex, edge))
          customEnqueue(startV)
          newVertex.addEdge edge
          let prefixes = gssVertexesToPrefixes.[newVertex]
          for prefixToAdd in prefixesToAdd do
              addPrefix prefixes prefixToAdd //add new prefix to vertex
  