anchor.diff:  
   function reloadAsSort(){
     var url="?name="+'<%= URLEncoder.encode(fqtn) %>';
  -  if(document.getElementById("sel").selectedIndex>0){
  +  if(document.getElementById("sel").selectedIndex>=0){
       url=url+"&sort="+document.getElementById("sel").value;
     }
     if(document.getElementById("ascending").checked){
  
positive.code: <h2>Table Regions</h2>
  Sort As
  <select id="sel" style="margin-right: 10px">
  <option value="regionName">RegionName</option>
  <option value="readrequest">ReadRequest</option>
  <option value="writerequest">WriteRequest</option>
  <option value="size">StorefileSize</option>
  
negative.code: 
  <%
    List<Map.Entry<RegionInfo, RegionMetrics>> entryList = new ArrayList<>(regionsToLoad.entrySet());
    if (Objects.equals(sortKey, "regionname")) {
      Collections.sort(entryList, (entry1, entry2) -> {
        if (entry1 == null || entry1.getValue() == null) {
          return -1;
        } else if (entry2 == null || entry2.getValue() == null) {
          return 1;
        }
        RegionInfo regionInfo1 = entry1.getKey();
        RegionInfo regionInfo2 = entry2.getKey();
        String name1 = showWhole ? Bytes.toStringBinary(regionInfo1.getRegionName())
            : regionInfo1.getEncodedName();
        String name2 = showWhole ? Bytes.toStringBinary(regionInfo2.getRegionName())
            : regionInfo2.getEncodedName();
        return name1.compareTo(name2);
      });
    } else if (Objects.equals(sortKey, "readrequest")) {
      Collections.sort(entryList, (entry1, entry2) -> {
        if (entry1 == null || entry1.getValue() == null) {
          return -1;
        } else if (entry2 == null || entry2.getValue() == null) {
          return 1;
        }
        return Long.compare(entry1.getValue().getReadRequestCount(),
            entry2.getValue().getReadRequestCount());
      });
    } else if (Objects.equals(sortKey, "writerequest")) {
      Collections.sort(entryList, (entry1, entry2) -> {
        if (entry1 == null || entry1.getValue() == null) {
          return -1;
        } else if (entry2 == null || entry2.getValue() == null) {
          return 1;
        }
        return Long.compare(entry1.getValue().getWriteRequestCount(),
            entry2.getValue().getWriteRequestCount());
      });
    } else if (Objects.equals(sortKey, "size")) {
      Collections.sort(entryList, (entry1, entry2) -> {
        if (entry1 == null || entry1.getValue() == null) {
          return -1;
        } else if (entry2 == null || entry2.getValue() == null) {
          return 1;
        }
        return Double.compare(entry1.getValue().getStoreFileSize().get(),
            entry2.getValue().getStoreFileSize().get());
      });
    } else if (Objects.equals(sortKey, "filecount")) {
      Collections.sort(entryList, (entry1, entry2) -> {
        if (entry1 == null || entry1.getValue() == null) {
          return -1;
        } else if (entry2 == null || entry2.getValue() == null) {
          return 1;
        }
        return Integer.compare(entry1.getValue().getStoreCount(),
            entry2.getValue().getStoreCount());
      });
    } else if (Objects.equals(sortKey, "memstore")) {
      Collections.sort(entryList, (entry1, entry2) -> {
        if (entry1 == null || entry1.getValue() == null) {
          return -1;
        } else if (entry2 == null || entry2.getValue() == null) {
          return 1;
        }
        return Double.compare(entry1.getValue().getMemStoreSize().get(),
            entry2.getValue().getMemStoreSize().get());
      });
    } else if (Objects.equals(sortKey, "locality")) {
      Collections.sort(entryList, (entry1, entry2) -> {
        if (entry1 == null || entry1.getValue() == null) {
          return -1;
        } else if (entry2 == null || entry2.getValue() == null) {
          return 1;
        }
        return Double.compare(entry1.getValue().getDataLocality(),
            entry2.getValue().getDataLocality());
      });
    }
  
    if (reverseOrder) {
      Collections.reverse(entryList);
    }
  
    numRegions = regions.size();
    int numRegionsRendered = 0;
    // render all regions
  