Насколько я знаю, вы делаете это максимально эффективно. Это
очевидно, не идеально, но вы закончите в конце концов.
Однако я рекомендую вам делать это поэтапно; есть вероятные части
код, который выиграет от этого больше, чем другие, сосредоточиться на них. Пытаясь
сделать все это за один раз рискует привести к появлению новых ошибок в вашем коде. Мы
есть одно такое место, где у нас есть коллекция, которая содержит контекстно-зависимую
данные и дженерики на самом деле не могут работать на них.
По сути, делайте то, что вы делаете, но делайте это поэтапно, как часть другой работы,
вместо того, чтобы пытаться все исправить одним броском.