public static void parseResult(final Result result, final QuotasVisitor visitor)
    throws IOException {
    byte[] row = result.getRow();
    if (isNamespaceRowKey(row)) {
      parseNamespaceResult(result, visitor);
    } else if (isTableRowKey(row)) {
      parseTableResult(result, visitor);
    } else if (isUserRowKey(row)) {
      parseUserResult(result, visitor);
    } else if (isRegionServerRowKey(row)) {
      parseRegionServerResult(result, visitor);
    } else if (isExceedThrottleQuotaRowKey(row)) {
      // skip exceed throttle quota row key
      if (LOG.isDebugEnabled()) {
        LOG.debug("Skip exceedThrottleQuota row-key when parse quota result");
      }
    } else {
      LOG.warn("unexpected row-key: " + Bytes.toString(row));
    }
  }
Extracts the {@link SpaceViolationPolicy} and {@link TableName} from the provided
{@link Result} and adds them to the given {@link Map}. If the result does not contain the
expected information or the serialized policy in the value is invalid, this method will throw
an {@link IllegalArgumentException}.
@param result    A row from the quota table.
@param snapshots A map of snapshots to add the result of this method into.
hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaTableUtil.java