public static @Nullable ConfirmedConsent fromString(@NotNull String str) {
    final StringTokenizer tokenizer = new StringTokenizer(str, ":", false);
    if (tokenizer.hasMoreTokens()) {
      final String id = tokenizer.nextToken().trim();
      if (tokenizer.hasMoreTokens()) {
        final Version ver = Version.fromString(tokenizer.nextToken());
        if (tokenizer.hasMoreTokens()) {
          try {
            final int accepted = Integer.parseInt(tokenizer.nextToken());
            final Boolean _accepted = accepted == 1 ? Boolean.TRUE : accepted == 0 ? Boolean.FALSE : null;
            if (_accepted != null && tokenizer.hasMoreTokens()) {
              return new ConfirmedConsent(id, ver, _accepted, Long.parseLong(tokenizer.nextToken()));
            }
          }
          catch (NumberFormatException ignored) {
          }
        }
      }
    }
    return null;
  }
public static @Nullable ConfirmedConsent fromString(@NotNull String str)