public DeckRegularDict <D> ListSelectedObjects(bool alsoRemove) // i think its okay to return a list of for this. (well see) { DeckRegularDict <D> newList = HandList.Where(Items => Items.IsSelected == true).ToRegularDeckDict(); if (alsoRemove == true) { HandList.RemoveSelectedItems(); //this works too. } return(newList); }