title: null snapshot in FutureBuilder when returning map
body: <p>i cant figure out why i always got null return in future builder while i'm sure there should be a value</p>
  
  <pre><code>//global variables
  Map&lt;String,bool&gt; students;
  List&lt;String&gt; studentsList ;
  List&lt;bool&gt; studentsCheck ;
  
  FutureBuilder(
    future: GetInfoFromBackEnd(),
    builder: (BuildContext context, AsyncSnapshot snapshot) {
      return snapshot.hasData?
      CustomScrollView(....some not important widgets here....):CircularProgressIndicator();
  
  },)
  Future GetInfoFromBackEnd() async {
  students = {
    'this info should be taken from backend0':false,
    'this info should be taken from backend0':false,
    'this info should be taken from backend0':false,
    'this info should be taken from backend0':false,
    'this info should be taken from backend0':false,
    };
  studentsList = students.keys;
  studentsCheck = students.values;
  return students;
   }
  </code></pre>
  
  <p>i have a workaround for this code but i need to understand why this is hapening and what's going on</p>