code: private static String calcClassSign(String name) {
          try {
              Class<?> clazz = Class.forName(name);
  
              ByteArrayOutputStream result = new ByteArrayOutputStream();
              ObjectOutputStream outputStream = new ObjectOutputStream(result);
              outputStream.writeObject(clazz);
              outputStream.close();
  
              MessageDigest crypt = MessageDigest.getInstance("SHA-1");
              crypt.reset();
              crypt.update(result.toByteArray());
  
              return new BigInteger(1, crypt.digest()).toString(16);
          } catch (Exception e) {
              throw new IllegalStateException("Can't calculate sign of " + name, e);
          }
      }
docs: TODO cache result