code: @Override
      public void updateStatisticOnRequest(int dataId) {
          if (si != null) {
              ConnectionPoolStats temp = ConnectionPoolMonitor.getConnectionPoolOB((si.getName()));
              if (dataId == NUM_CREATES) {
                  numManagedConnectionsCreated.setCount(temp.getCreateCount());
              }
              if (dataId == NUM_DESTROYS) {
                  numManagedConnectionsDestroyed.setCount(temp.getDestroyCount());
              }
              if (dataId == NUM_MANAGED_CONNECTIONS) {
                  numManagedConnections.setCount(temp.getManagedConnectionCount());
              }
              if (dataId == NUM_CONNECTIONS) {
                  numConnectionHandles.setCount(temp.getConnectionHandleCount());
              }
              if (dataId == AVERAGE_WAIT) {
                  averageWait.set(((long) temp.getWaitTime()), (long) temp.getWaitTime(), (long) temp.getWaitTime(), 0, 0, 0, 0);
              }
              if (dataId == FREE_POOL_SIZE) {
                  freePoolSize.set(temp.getFreeConnectionCount());
              }
          }
      }
docs: {@inheritDoc}