private <T> @Nullable T getValueWithLogging(final @NotNull WslDistributionSafeNullableLazyValue<T> lazyValue,
                                              final @NotNull String fieldName) {
    final T value = lazyValue.getValue();

    if (value == null) {
      final var app = ApplicationManager.getApplication();
      if (LOG.isDebugEnabled()) {
        LOG.debug("Lazy value for %s returned null: MsId=%s, EDT=%s, RA=%s, stackTrace=%s"
                    .formatted(fieldName, getMsId(), app.isDispatchThread(), app.isReadAccessAllowed(), ExceptionUtil.currentStackTrace()));
      }
      else {
        LOG.warn("Lazy value for %s returned null: MsId=%s, EDT=%s, RA=%s"
                   .formatted(fieldName, getMsId(), app.isDispatchThread(), app.isReadAccessAllowed()));
      }
    }

    return value;
  }
private <T> @Nullable T getValueWithLogging(final @NotNull WslDistributionSafeNullableLazyValue<T> lazyValue,
                                              final @NotNull String fieldName)