public static String createUniqID() {
        char[] sb = new char[LEN * 2];
        System.arraycopy(FIX_STRING, 0, sb, 0, FIX_STRING.length);
        long current = System.currentTimeMillis();
        if (current >= nextStartTime) {
            setStartTime(current);
        }
        int diff = (int)(current - startTime);
        if (diff < 0 && diff > -1000_000) {
            // may cause by NTP
            diff = 0;
        }
        int pos = FIX_STRING.length;
        UtilAll.writeInt(sb, pos, diff);
        pos += 8;
        UtilAll.writeShort(sb, pos, COUNTER.getAndIncrement());
        return new String(sb);
    }
@Test
    public void testGetCountFromID() {
        String uniqID = MessageClientIDSetter.createUniqID();
        String uniqID2 = MessageClientIDSetter.createUniqID();
        String idHex = uniqID.substring(uniqID.length() - 4);
        String idHex2 = uniqID2.substring(uniqID2.length() - 4);
        int s1 = Integer.parseInt(idHex, 16);
        int s2 = Integer.parseInt(idHex2, 16);
        assertThat(s1 == s2 - 1).isTrue();
    }