| 
					
					
						
							
						
					
					
				 | 
				@ -205,12 +205,20 @@ namespace storm { | 
			
		
		
	
		
			
				 | 
				 | 
				                        topoVisit(c, visited, L); | 
				 | 
				 | 
				                        topoVisit(c, visited, L); | 
			
		
		
	
		
			
				 | 
				 | 
				                    } | 
				 | 
				 | 
				                    } | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				                } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                // TODO restrictions and dependencies have no parents, so this can be done more efficiently.
 | 
			
		
		
	
		
			
				 | 
				 | 
				                if(n->isRestriction()) { | 
				 | 
				 | 
				                if(n->isRestriction()) { | 
			
		
		
	
		
			
				 | 
				 | 
				                    visited[n] = topoSortColour::GREY; | 
				 | 
				 | 
				                    visited[n] = topoSortColour::GREY; | 
			
		
		
	
		
			
				 | 
				 | 
				                    for (DFTElementPointer const& c : std::static_pointer_cast<DFTRestriction<ValueType>>(n)->children()) { | 
				 | 
				 | 
				                    for (DFTElementPointer const& c : std::static_pointer_cast<DFTRestriction<ValueType>>(n)->children()) { | 
			
		
		
	
		
			
				 | 
				 | 
				                        topoVisit(c, visited, L); | 
				 | 
				 | 
				                        topoVisit(c, visited, L); | 
			
		
		
	
		
			
				 | 
				 | 
				                    } | 
				 | 
				 | 
				                    } | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				                } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                if(n->isDependency()) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    visited[n] = topoSortColour::GREY; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    for (DFTElementPointer const& c : std::static_pointer_cast<DFTDependency<ValueType>>(n)->dependentEvents()) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                        topoVisit(c, visited, L); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    topoVisit(std::static_pointer_cast<DFTDependency<ValueType>>(n)->triggerEvent(), visited, L); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                } | 
			
		
		
	
		
			
				 | 
				 | 
				                visited[n] = topoSortColour::BLACK; | 
				 | 
				 | 
				                visited[n] = topoSortColour::BLACK; | 
			
		
		
	
		
			
				 | 
				 | 
				                L.push_back(n); | 
				 | 
				 | 
				                L.push_back(n); | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				            } | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
					
				 | 
				
  |