Methods with more than a dozen or so callsites will be emulated in {quote:CompatClassAd} when feasible. Some methods, particularly those dealing with {quote:ExprTrees}, cannot be emulated easily, and the callsites will have to be modified. Once the initial transition is complete, we can update callsites at our leisure, with a large dose of student work, until {quote:CompatClassAd} is no longer needed. +{subsubsection: ClassAd Functions} +There are some {quote:ClassAd} functions that exist in old {quote:ClassAds} but not new {quote:ClassAds}. These are ones based on Condor's {quote:StringList} class and provide a poor man's list functionality in old {quote:ClassAds}, by allowing a single string to be interpreted as a comma-separated list of items. We should support these functions in new {quote:ClassAds}. + {subsubsection: Direct use of ExprTree} Many parts of the code do the following to evaluate an expression in the context of a {quote:ClassAd}: *: Parse() to create an {quote:ExprTree}