private static String getMD5Checksum(VirtualFile fis) throws Exception {
    byte[] bytes = createChecksum(fis);
    StringBuilder md5 = new StringBuilder();

    for (byte b : bytes) {
      md5.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1));
    }
    return md5.toString();
  }
private static String getMD5Checksum(VirtualFile fis)