public ObjectCache(ObjectCacheFunc func, object user_data, int ttl) { this.func = func; this.user_data = user_data; this.initial_ttl = this.ttl = ttl; this.id = ++next_id; mutex.Lock (); objects.Add (this); mutex.Unlock (); }