Check efficiency of coloring scheme (efficiency doesn't matter much for instationary simulations).
The constraint behind the coloring should be: Two elements that modify the same entries of the matrix or the cache or any other global object shouldn't have the same color. In the graph coloring sense: Two elements (two nodes) that do modify the same entries are connected by an edge.