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

            // Read single key part.
            final GroupKeyPart groupKeyPart = new GroupKeyPart(ValSerialiser.readArray(reader));
            final List<KeyPart> list = Collections.singletonList(groupKeyPart);
            return new Key(timeMs, list);
        }
Creates a flat time based group key. <TIME_MS><GROUP VAL ARRAY>
stroom-query/stroom-query-common/src/main/java/stroom/query/common/v2/KeyFactoryFactory.java