- const set<Track *> &tracks = objects.get<Track>();
- for(set<Track *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
- if(used_tracks.count(*i)==0)
- {
- Block *block = new Block(*this, **i);
- used_tracks.insert(block->get_tracks().begin(), block->get_tracks().end());
- }
+ list<Block *> created_blocks;
+ while(!loose_tracks.empty())
+ {
+ Block *block = new Block(*this, **loose_tracks.begin());
+ created_blocks.push_back(block);