Opening drill
Thread-safe lazy initialization in .NET | Aporeon