@Override
        public Key read(final DataReader reader) {
            // Read time millis since epoch.
            final long timeMs = reader.readLong();

            // Read single key part.
            final UngroupedKeyPart keyPart = new UngroupedKeyPart(reader.readLong());
            final List<KeyPart> list = Collections.singletonList(keyPart);
            return new Key(timeMs, list);
        }
Creates flat time based unique key. <TIME_MS><UNIQUE_ID>
stroom-query/stroom-query-common/src/main/java/stroom/query/common/v2/KeyFactoryFactory.java