question: public void storeState ( ) { if ( intervalsKnown ) { if ( storedIntervals == null ) { storedIntervals = new double [ intervals . length ] ; } if ( storedLineageCounts == null ) { storedLineageCounts = new int [ lineageCounts . length ] ; } if ( superStore ) { if ( storedIndices == null ) { storedIndices = new int [ indices . length ] ; } if ( storedTimes == null ) { storedTimes = new double [ times . length ] ; } } System . arraycopy ( intervals , 0 , storedIntervals , 0 , intervals . length ) ; System . arraycopy ( lineageCounts , 0 , storedLineageCounts , 0 , lineageCounts . length ) ; if ( superStore ) { System . arraycopy ( indices , 0 , storedIndices , 0 , indices . length ) ; System . arraycopy ( times , 0 , storedTimes , 0 , times . length ) ; } } storedIntervalsKnown = intervalsKnown ; }
target:  Extra functionality to store and restore values for caching