boolean keepScore = matrix.getActivatedArticle() instanceof Scoreable;
if (keepScore) {
totalScore += activatedCount;
levelScore += activatedCount;
notifyViews(ModelUpdateCaseEnum.GOAL);
notifyViews(new BombBonusRule().filterBonusUpdateCase(activatedCount));
}
//Remove activated articles.
matrix.notifyViews(ModelUpdateCaseEnum.REMOVE_ARTICLE_PREPROCESS);
matrix.removeActivatedArticles();
matrix.realign();
matrix.grow(new BombBonusRule().filterArticleGenerationStrategy(activatedCount));
matrix.notifyViews(ModelUpdateCaseEnum.STRUCTURE_CHANGED);
// If level passed.
if (levelPassed()) {
notifyViews(ModelUpdateCaseEnum.LEVEL_PASSED);
nextLevel();