title: Dart list added to another list becomes empty when emptying the first list
body: <p>I have the below user defined objects -</p>
  <pre><code>class PhoneBookContact {
    String? phoneBookContact;
    List&lt;ContactNumber&gt;? contactNumbers;
  
    PhoneBookContact(this.phoneBookContact, this.contactNumbers);
  }
  
  class ContactNumber {
    String phone;
    bool availableOnBol;
  
    ContactNumber(this.phone, this.availableOnBol);
  }
  </code></pre>
  <p>In my main method I am creating a list for the ContactNumber class and then later adding that ContactNumber list to the contactNumbers property of PhoneBookContact list. This is all done inside of a for loop.</p>
  <p>The issue I am having is when I am clearing the contactNumbers list after adding those items to the contactNumbers property of the PhoneBookContact list, I see those cleared from the PhoneBookContact list as well, which I find weird, or maybe I am not thinking it the right way.</p>
  <pre><code>  List&lt;PhoneBookContact&gt; phoneBookContacts = [];
      List&lt;ContactNumber&gt; contactNumbers = [];
  
      for (var contact in contacts) {
        contactNumbers.clear();
        if (contact.phones.isNotEmpty) {
          for (var phone in contact.phones) {
            if (true) {
              contactNumbers.add(ContactNumber(phone.number, true));
            } else {
              contactNumbers.add(ContactNumber(phone.number, false));
            }
          }
        }
        phoneBookContacts
            .add(PhoneBookContact(contact.displayName, contactNumbers));
      }
  </code></pre>