I saw the following code:
this.list = new List<GameObject>((IEnumerable<GameObject>) this.someVar.otherList);
where otherList is declared as follows:
public List<GameObject> otherList = new List<GameObject>();
Why do we need to cast the list passed to the constructor to (IEnumerable<GameObject>), what exactly is happening here?