/** {@inheritDoc} */
 @Override
 public void setStatisticsEnabled(boolean flag) {
   if (flag) {
     ehcacheStats.enableStats();
     hibernateStats.enableStats();
   } else {
     ehcacheStats.disableStats();
     hibernateStats.disableStats();
   }
   statsEnabled.set(flag);
   sendNotification(HibernateStats.CACHE_STATISTICS_ENABLED, flag);
 }
 /** {@inheritDoc} */
 @Override
 public long getTransactionCount() {
   return hibernateStats.getTransactionCount();
 }
 /** {@inheritDoc} */
 @Override
 public TabularData getQueryStats() {
   return hibernateStats.getQueryStats();
 }
 /** {@inheritDoc} */
 @Override
 public long getSessionOpenCount() {
   return hibernateStats.getSessionOpenCount();
 }
 /** {@inheritDoc} */
 @Override
 public double getQueryExecutionRate() {
   return hibernateStats.getQueryExecutionRate();
 }
 /** {@inheritDoc} */
 @Override
 public long getQueryExecutionSample() {
   return hibernateStats.getQueryExecutionSample();
 }
 /** {@inheritDoc} */
 @Override
 public long getOptimisticFailureCount() {
   return hibernateStats.getOptimisticFailureCount();
 }
 /** {@inheritDoc} */
 @Override
 public long getPrepareStatementCount() {
   return hibernateStats.getPrepareStatementCount();
 }
 /** {@inheritDoc} */
 @Override
 public long getFlushCount() {
   return hibernateStats.getFlushCount();
 }
 /** {@inheritDoc} */
 @Override
 public long getConnectCount() {
   return hibernateStats.getConnectCount();
 }
 /** {@inheritDoc} */
 @Override
 public TabularData getCollectionStats() {
   return hibernateStats.getCollectionStats();
 }
 /** {@inheritDoc} */
 @Override
 public TabularData getCacheRegionStats() {
   return hibernateStats.getCacheRegionStats();
 }
 /** {@inheritDoc} */
 @Override
 public void clearStats() {
   ehcacheStats.clearStats();
   hibernateStats.clearStats();
 }