/**
  * Resests instance cache
  *
  * @param string $sClassName class name in the cache
  *
  * @return null;
  */
 public function resetInstanceCache($sClassName = null)
 {
     if ($sClassName && isset(self::$_aInstanceCache[$sClassName])) {
         unset(self::$_aInstanceCache[$sClassName]);
         return;
     }
     //looping due to possible memory "leak".
     if (is_array(self::$_aInstanceCache)) {
         foreach (self::$_aInstanceCache as $sKey => $oInstance) {
             unset(self::$_aInstanceCache[$sKey]);
         }
     }
     self::$_aInstanceCache = array();
 }