Making snapshot identical to the previous one never makes sense. Apart from discarding such snapshot application should also print some sinister warning log.
To implement this I need a way to compare CanvasElements. It is not trivial now as elements don't have operator==.