public StateEntity Put <T>(string key, object obj, TaxonomyNode trigger = null, long durationSeconds = 0, string description = null) where T : class { lock (stateLocker) { Remove <T>(key); return(repo.CreateAndPersist(String.Format("{0}", key), (T)obj, trigger, durationSeconds, description)); } }