private void DoHandle(AbstractFolderEvent actualEvent) {
SituationType localSituation = this.LocalSituation.Analyse(this.storage, actualEvent);
SituationType remoteSituation = this.RemoteSituation.Analyse(this.storage, actualEvent);
ISolver solver = this.Solver[(int)localSituation, (int)remoteSituation];
if (solver == null) {
throw new NotImplementedException(string.Format("Solver for LocalSituation: {0}, and RemoteSituation {1} not implemented", localSituation, remoteSituation));
}
Stopwatch watch = Stopwatch.StartNew();
this.Solve(solver, actualEvent);
watch.Stop();
Logger.Debug(string.Format("Solver {0} took {1} ms", solver.GetType(), watch.ElapsedMilliseconds));
}