public IEnumerable <IWorkerWrapperAction> FindSequence(Mine mine) { var bestScore = int.MaxValue; var bestMoves = (List <IWorkerWrapperAction>)null; foreach (var optimizer in _optimizers) { var moves = optimizer.FindSequence(mine.Clone()).ToList(); if (moves.Count < bestScore) { bestScore = moves.Count; bestMoves = moves; } } return(bestMoves); }