code: public static boolean uriCaseCheck(File file, String matchString) throws java.io.IOException {
  
          if (isCaseInsensitive || isWindows) { // security measure to ensure that this check is only performed on case
              // sensitive servers
  
              // begin 154268
              matchString = WSUtil.resolveURI(matchString);
              // (removed since it is changed to "//" inside of resolveURI
              // matchString = matchString.replace ('/', '\\'); // change string from
              // url format to Windows format
              // end 154268
  
              matchString = matchString.replace('/', File.separatorChar);
              String canPath = file.getCanonicalPath();
              // begin 540920 change for drive letter ignore case on Win 2008
              int offset = 0;
              int inx = matchString.length();
              if (isWindows && inx > 1 && canPath.length() > 0 && matchString.charAt(1) == ':') {
                  // check that the string to match starts with a drive letter (':'), and
                  // the drive letter is the same as canonical
                  if (!(matchString.substring(0, 1).equalsIgnoreCase(canPath.substring(0, 1)))) {
                      return false;
                  }
                  // make the offset 1 for the regionMatches so that we do not compare the
                  // drive letters
                  offset = 1;
              }
              return canPath.regionMatches(canPath.length() - inx + offset, matchString, offset, inx - offset);
              // end 540920
          }
          return true;
      }
docs: Not a problem on UNIX type systems since the OS handles is case sensitive.