public SourceBuffer FindFile(string name)
{
if (files.Contains (name))
return (SourceBuffer) ((ObjectCache) files [name]).Data;
ObjectCache cache = (ObjectCache) files [name];
if (cache == null) {
cache = new ObjectCache (new ObjectCacheFunc (read_file), name, 10);
files.Add (name, cache);
}
return (SourceBuffer) cache.Data;
}