public synchronized Object getPerfObject(String key) {return perfObjects.get(key);}
public virtual object GetPerfObject(string key){lock (this){object result;perfObjects.TryGetValue(key, out result);return result;}}