Singleton in singleton
<p>I have a singleton in singleton data structure. Currently my implementation is like below:</p>

<pre><code>public class Singleton {
    private Object embInstance;

    private Singleton() { 
        embInstance = new Object();
    }

    private static class SingletonHolder { 
            public static final Singleton instance = new Singleton();
    }

    public static Singleton getInstance() {
            return SingletonHolder.instance;
    }

    public Object getEmbInstance() {
        return embInstance;
    }

    public Object resetEmbInstance() {
        embInstance = null;
    }
</code></pre>

<p>}</p>

<p>My question are:</p>

<ol>
<li>Does 'private Singleton()' have to be empty or is it OK to add some code in it?</li>
<li>Is this implementation thread-safe with respect to embInstance?</li>
<li>This implementation is not lazy-loading for embInstance. How to implement a thread-safe lazy-loading for embInstance?</li>
</ol>

<p>Thanks!</p>
