public static String idToString(final long id) {
        if (id < 0) {
            throw new IllegalArgumentException("Negative IDs not supported");
        }
        final String idStr = String.valueOf(id);
        final int remainder = idStr.length() % 3;
        return switch (remainder) {
            case 0 -> idStr; // Length is OK as is
            case 1 -> "00" + idStr;
            case 2 -> "0" + idStr;
            default -> {
                // Should never happen
                throw new IllegalStateException(
                        LogUtil.message("Unexpected remainder {}, id {}, idStr {}, len {}",
                                remainder, id, idStr, idStr.length()));
            }
        };
    }
Convert id into a zero padded string that has a length that is divisible by three.
The length will be the shortest possible to fit the id value.
e.g.
<ul>
   <li>{@code 1 => 001}</li>
   <li>{@code 12 => 012}</li>
   <li>{@code 123 => 123}</li>
   <li>{@code 1234 => 001234}</li>
   <li>{@code 12345678 => 012345678}</li>
</ul>
stroom-util/src/main/java/stroom/util/string/StringIdUtil.java