@Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        final SourceKey sourceKey = (SourceKey) o;
        return metaId == sourceKey.metaId &&
                partIndex == sourceKey.partIndex &&
                Objects.equals(recordIndex, sourceKey.recordIndex) &&
                Objects.equals(childStreamType, sourceKey.childStreamType);
    }
@return The part index, zero based. 0 for single-part segmented streams.
stroom-core-client/src/main/java/stroom/data/client/SourceKey.java