var collectionA = new List<string>();
var myObject = // an object
Optimizer.Optimize(ref collectionA, ref myObject); // cache
//{
MaClass.Treatment(); // use collectionA stored in cache via Optimizer
// the collectionA is modified in MaClass.Treatment()
...
//}
Optimizer.EndOptimize();
...