public void Apply( Primitives.Container container ) { List<Primitives.Path> sources = new List<Primitives.Path>(); Primitives.DelegateVisitor visitor = new Primitives.DelegateVisitor(); visitor.VisitPathDelegate = delegate( Primitives.Path path ) { sources.Add( path ); }; container.Visit( visitor ); foreach( Primitives.Path source in sources ) { container.AddFront( Create( source ) ); } }