@Override
    protected void applyFix(@NotNull Project project, @NotNull PsiElement forElement, @NotNull ModPsiUpdater updater) {
      final PsiElement parent = forElement.getParent();
      if (!(parent instanceof PsiForStatement forStatement)) {
        return;
      }
      if (isArrayLoopStatement(forStatement)) {
        replaceArrayLoopWithForeach(forStatement);
      }
      else if (isCollectionLoopStatement(forStatement, myIgnoreUntypedCollections)) {
        replaceCollectionLoopWithForeach(forStatement);
      }
      else if (isIndexedListLoopStatement(forStatement, myIgnoreUntypedCollections)) {
        replaceIndexedListLoopWithForeach(forStatement);
      }
    }
@Override
    protected void applyFix(@NotNull Project project, @NotNull PsiElement forElement, @NotNull ModPsiUpdater updater)