code: private List<ColumnName> getRowName(Node<ColumnName> row) {
      List<ColumnName> result = new ArrayList<ColumnName>();
      result.add(row.head.name);
      Node<ColumnName> node = row.right;
      while (node != row) {
        result.add(node.head.name);
        node = node.right;
      }
      return result;
    }
docs: Get the name of a row by getting the list of column names that it
  satisfies.
  @param row the row to make a name for
  @return the list of column names