void (@NotNull String childName) { VFilePropertyChangeEvent caseSensitivityEvent = generateCaseSensitivityChangedEventForUnknownCase(this, childName); if (caseSensitivityEvent != null) { changeCaseSensitivity(this, (FileAttributes.CaseSensitivity)caseSensitivityEvent.getNewValue()); // fire event asynchronously to avoid deadlocks with possibly currently-held VFP/Refresh queue locks RefreshQueue.getInstance().processEvents(true, List.of(caseSensitivityEvent)); // when the case-sensitivity changes, the "children must be sorted by name" invariant must be restored resortChildren(); } else if (getChildrenCaseSensitivity() == FileAttributes.CaseSensitivity.UNKNOWN) { // cache case sensitivity anyway even when we failed to read it from the disk, to avoid freezes trying to re-read it constantly setCaseSensitivityFlag( getFileSystem().isCaseSensitive() ? FileAttributes.CaseSensitivity.SENSITIVE : FileAttributes.CaseSensitivity.INSENSITIVE); } }