Do a Get/Lock/Get to avoid thread serialization

In StructureMap.Pipeline.ObjectBuilder.Resolve I have several web applications that have been experiencing lock contention in this method as it takes a lock before checking the cache, effectively allowing only one thread at a time to GetInstance<T> from StructureMap.