Source
void resetCache(List<ValueUpdate> values) { if (this._caching) { if (lastValues.length > 0 && lastValues.first.equals(values.last)) { lastValues.removeAt(0); } lastValues = values..addAll(lastValues); if (waitingValues != null) { waitingValues.clear(); waitingValues.addAll(lastValues); } } else { lastValues.length = 0; if (waitingValues != null) { waitingValues.clear(); waitingValues.add(values.last); } } lastValue = values.last; }