title: How to return part of a list of Widgets in Flutter
body: <p>I have a page comprised of multiple sections, each consisting of a header and list of text. I would like the whole collection to scroll uniformly, as one series, and am wondering how best to break apart this logic. Imagine the following tree of widgets:</p>
  
  <pre><code>ListView(
    children: &lt;Widget&gt;[
      Text('Section 1 Header'),
      Text('Section 1 List Item 1'),
      Text('Section 1 List Item 2'),
      Text('Section 2 Header'),
      ...
    ]
  )
  </code></pre>
  
  <p>In terms of helper functions that build this cleanly, something like the following would be nice:</p>
  
  <pre><code>ListView(
    children: &lt;Widget&gt;[
      Text('Section 1 Header'),
      _buildSection1ListItems(),
      Text('Section 2 Header'),
    ]
  )
  </code></pre>
  
  <p>Where <code>_buildSection1ListItems()</code> looks like the following:</p>
  
  <pre><code>List&lt;Widget&gt; _buildSection1ListItems() {
    return [
      Text('Section 1 List Item 1'),
      Text('Section 1 List Item 2'),
    ];
  }
  </code></pre>
  
  <p>And NOT like the following:</p>
  
  <pre><code>Widget _buildSection1ListItems() {
    return Expanded(
      child: Column(
        children: &lt;Widget&gt;[
          Text('Section 1 List Item 1'),
          Text('Section 1 List Item 2'),
        ]
      )
    );
  }
  </code></pre>
  
  <p>All I've figured out so far is that obvious second solution, but it introduces so many frivolous widgets influenced purely by business logic refactoring niceties, and not the actual, ideal tree of widgets to display content.</p>
  
  <p>Is there a pattern for doing this in Flutter?</p>