docs: static boolean isOsCaseSensitive() {
          File caseSensitiveFile = null;
          Bundle bundle = FrameworkUtil.getBundle(PathUtils.class);
          if (bundle != null) {
              BundleContext ctx = bundle.getBundleContext();
              if (ctx != null) {
                  caseSensitiveFile = ctx.getDataFile("caseSensitive");
                  if (caseSensitiveFile != null && (caseSensitiveFile.delete() || !caseSensitiveFile.exists())) {
                      try {
                          if (caseSensitiveFile.createNewFile()) {
                              // We created "caseSensitive", so check if "CASeSENSITIVE" exists.
                              // new File("A").equals(new File("a")) returns true on Windows, but
                              // OS/400 returns false even though the files are the same, so use
                              // getCanonicalFile() first, which allows the comparison to succeed.
                              //
                              // Note that OS/400 only considers two files equal if they have both
                              // been canonicalized...
                              return !getCanonicalFile(caseSensitiveFile).equals(getCanonicalFile(new File(caseSensitiveFile.getParentFile(), "CASEsENSITIVE")));
                          }
                      } catch (PrivilegedActionException pae) {
                          // auto FFDC
                      } catch (IOException ioe) {
                          // auto FFDC
                      } finally {
                          caseSensitiveFile.delete();
                      }
                  }
              }
          }
  
          try {
              // Need to double check, since the above code is intended to be run in an
              // OSGi environment, not a Java SE / JUnit env
              caseSensitiveFile = File.createTempFile("caseSENSITIVEprefix", "TxT");
              boolean iAmCaseSensitive = !getCanonicalFile(caseSensitiveFile).equals(new File(caseSensitiveFile.getAbsolutePath().toUpperCase()));
              if (iAmCaseSensitive) {
                  return true;
              }
          } catch (Exception e) {
              // We can't tell if this OS is case sensitive or not.
              // Assume we might not be case sensitive.
              return false;
          } finally {
              //caseSensitiveFile.delete();
          }
          // Something went wrong. Assume we might be not be case sensitive.
          return false;
      }