code: public static String gridAsString(String hash, int fromRight, int fromBottom, int toRight,
              int toBottom, Set<String> highlightThese) {
          StringBuilder s = new StringBuilder();
          for (int bottom = fromBottom; bottom <= toBottom; bottom++) {
              for (int right = fromRight; right <= toRight; right++) {
                  String h = adjacentHash(hash, Direction.RIGHT, right);
                  h = adjacentHash(h, Direction.BOTTOM, bottom);
                  if (highlightThese.contains(h))
                      h = h.toUpperCase();
                  s.append(h).append(" ");
              }
              s.append("\n");
          }
          return s.toString();
      }
docs: <p>Returns a String of lines of hashes to represent the relative positions
  of hashes on a map. Highlighted hashes are displayed in upper case. For
  example, gridToString("dr",-1,-1,1,1,Sets.newHashSet("f2","f8")) returns:
  </p>
  
  <pre>
  f0 F2 F8
  dp dr dx
  dn dq dw
  </pre>
  
  @param hash reference hash
  @param fromRight
  top left of the grid in hashes to the right (can be negative).
  @param fromBottom
  top left of the grid in hashes to the bottom (can be
  negative).
  @param toRight
  bottom righth of the grid in hashes to the bottom (can be
  negative).
  @param toBottom
  bottom right of the grid in hashes to the bottom (can be
  negative).
  @param highlightThese hashes to highlight
  @return String representation of grid