//building index generator
IntArrayList usedIndices = new IntArrayList(TensorUtils.getAllIndicesNames(split.factoredOut));
usedIndices.addAll(collectedTerm.getCollectedFactorsIndicesNames());
usedIndices.addAll(collectedTerm.getCollectedTermIndicesNames());
IndexGenerator ig = new IndexGenerator(usedIndices.toArray());
List<Tensor> kroneckersCollected = new ArrayList<>();
for (Map.Entry<Integer, IndexMappingBufferRecord> entry : concurentBuffer.getMap().entrySet()) {
int indexCollected, indexToCollect, rawState = ((entry.getValue().getStates() & 1) ^ 1) << 31;