public void TPredictiveStates() {
        for(int c = 0; c < xDimension*yDimension; c++) {
            for(int i = 0; i < cellsPerColumn; i++)
                for(int s = 0; s < dendriteSegments.get(c).get(i).size();s++) {
                    if (segmentActive(dendriteSegments.get(c).get(i).get(s), time, State.active)) {
                        predictiveState.get(time).get(c).set(i, true);
                        segmentUpdate activeUpdate = getSegmentActiveSynapses(c, i, time, s, false);
                        segmentUpdateList.get(c).get(i).add(activeUpdate);

                        Integer[] predSegment = getBestMatchingSegment(c, i, time-1 > 0 ? time-1 : 0);
                        segmentUpdate predUpdate = getSegmentActiveSynapses(c, i, time-1 > 0 ? time-1 : 0, predSegment[2], true);
                        segmentUpdateList.get(c).get(i).add(predUpdate);
                    }

                }
        }
    }