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;
}