I have a pair of static fields with a complicated one-time initialization. I want this initialization to happen lazily, a la the standard singleton pattern.
However, the initialization procedure involves both fields, so I can't separate it into two different singletons.
What's the best way to handle this?