title: what happens to a Riverpod state provider that is watching a future, AFTER the future completes/expires
body: <p>I'm guessing that the following code will FIRST return an empty list, and then later (when the future completes), it will return the actual data provided by the future.</p>
  <p>That's all good ... but I'm wondering if my list-data will be retained and cached (thats what I want), or if it will be purged when the future completes.</p>
  <p>In other words, does the &quot;historyItemsProvider&quot; rebuild TWICE, or 3 times from the watch below?</p>
  <pre><code>final historyItemsProvider =
      StateProvider&lt;List&lt;ValuesBehaviorAssessMsg&gt;&gt;((ref) {
    // holds all data returned by the API
    final data = ref.watch(loadHistoryFutureProvider);
    List&lt;ValuesBehaviorAssessMsg&gt; response = [];
    data.whenData((vcm) =&gt; response = vcm.items);
    return response;
  });
  </code></pre>