anchor.diff:              // insert cmd into trie (link programs)
               let cmd = new RenderObjectCommand(compiler, o) 
               cmd.Update token
  -            trie.Add(cmd.GroupKey, cmd)
  +            
  +            let bucket = getBucket o.RenderPass
  +            bucket.Add cmd
  +            //trie.Add(cmd.GroupKey, cmd)
               cache.[o] <- cmd
               
   
  
positive.code: 
              prepared <- Some o
  
      /// Rendering a set of IRenderObjects using an optimized order (grouped by Pipeline)
      and UnorderedRenderObjectCommand(compiler : Compiler, objects : aset<IRenderObject>) =
          inherit PreparedCommand()
  
          let reader = objects.GetReader()
  
          let firstCommand =
              { new PreparedCommand() with
                  override x.Free() = ()
                  override x.Compile(_,_) = ()
              }
  
          let trie = Trie<PreparedCommand>()
          do trie.Add([], firstCommand)
              
          let cache = Dict<IRenderObject, RenderObjectCommand>()
          let dirty = HashSet<RenderObjectCommand>()
  
negative.code:             // clear all caches
              cache.Clear()
              dirty.Clear()
              reader.Dispose()
  
              // free the entry-command
              for (KeyValue(_,b)) in trie do b.Dispose()
              trie.Clear()
  
  
          override x.Compile(token, stream) =
              let deltas = reader.GetOperations token
  