void (@NotNull VirtualFile fileOrDir, @NotNull Condition<? super VirtualFile> acceptFileCondition) { if (fileOrDir.isDirectory()) { for (VirtualFile child : fileOrDir.getChildren()) { if (!child.isDirectory() && acceptFileCondition.value(child)) { filePropertiesChanged(child); } } } else if (acceptFileCondition.value(fileOrDir)) { filePropertiesChanged(fileOrDir); } }