title: How to destroy an singleton Object in Kotlin and force to call init block
body: <p>In Java, we can destroy the Singleton Object by below method.</p>
  
  <pre><code>public class MySingleton {
        private static MySingleton ourInstance = null;
  
    private MySingleton() {
    }
  
    public static MySingleton getInstance() {
        if(ourInstance == null)
            ourInstance = new MySingleton();
        return ourInstance;
    }
  
    private void destroy(){
        ourInstance = null;
    }
  }
  </code></pre>
  
  <p>so the constructor will be called the next time.</p>
  
  <p>In the same way how to destroy the Kotlin Singleton object.</p>
  
  <pre><code>object CacheManager{
  
    init {
       //some operations   
    }
  
    fun destroy(){
        //How to destroy?
    }
  
  }
  </code></pre>
  
  <p>I need to destroy the Object and make the init block called again.
  How can I achieve this?</p>