public TBusinessObject Get(Guid id) { lock (_syncRoot) { return(GetOrAdd( id, guid => { var model = _storageAdapter.Transaction(tw => tw.Fetch(guid, DaoType)); var converter = CreateConverter(); var result = converter.Dao2BusinessObject <TBusinessObject>(model); return result; })); } }