@Override
    public QuotaSettings next() {
      QuotaSettings result = cache;
      try {
        cache = QuotaRetriever.this.next();
      } catch (IOException e) {
        LOG.warn(StringUtils.stringifyException(e));
      }
      return result;
    }
Should QutoaRetriever manage the state of the connection, or leave it be.
hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaRetriever.java