+
+ bool waitable = j->track.endpoint().paths!=j->track->get_type().get_paths();
+ map<Track *, SequencingInfo *>::iterator k = sequenced_tracks.find(j->track.track());
+ if(k!=sequenced_tracks.end())
+ {
+ if(!k->second->preceding)
+ {
+ k->second->preceding = j->info;
+ k->second->sequence_in = sequence;
+ }
+ j->info->sequence.push_front(SequencingInfo(j->track.track(), sequence));
+ if(waitable)
+ k->second = &j->info->sequence.front();
+ --sequence;
+ }
+ else if(waitable)
+ {
+ j->info->sequence.push_front(SequencingInfo(j->track.track(), sequence));
+ sequenced_tracks[j->track.track()] = &j->info->sequence.front();
+ --sequence;
+ }