You can optimize futhur by using hash set instead of list. Contains in hash set is faster than list.
https://www.jetbrains.com/help/inspectopedia/SlowListContainsAll.html