public static ConjunctionIndex fromInputStream(DataInputStream in) throws IOException {
        int[] zList = SerializationHelper.readIntArray(in);
        long[] idMapping = SerializationHelper.readLongArray(in);
        int kIndexSize = in.readInt();
        IntObjectHashMap<FeatureIndex> kIndex = new IntObjectHashMap<>(kIndexSize);
        for (int i = 0; i < kIndexSize; i++) {
            int key = in.readInt();
            kIndex.put(key, FeatureIndex.fromInputStream(in));
        }
        kIndex.compact();
        return new ConjunctionIndex(kIndex, zList, idMapping);
    }
A searchable index of conjunctions (see {@link FeatureConjunction} / {@link IndexableFeatureConjunction}).
Implements the algorithm described in the paper
<a href="http://dl.acm.org/citation.cfm?id=1687633">Indexing Boolean Expressions</a>.

@author Magnar Nedland
@author bjorncs
predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIndex.java