private void updateCaseSensitivityIfUnknown(@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);
    }
  }
private void updateCaseSensitivityIfUnknown(@NotNull String childName)