public static  Singleton4 getInstance() 
    {
        if(INSTANCE == null)
        {
             synchronized(Singleton4.class)
             {
                 //when more than two threads run into the first null check same time, to avoid instanced more than one time, it needs to be checked again.
                 if(INSTANCE == null)
                 { 
                     INSTANCE = new Singleton4();
                  }
              } 
        }
        return INSTANCE;
    }