code: protected Locator byHeader(int colIndex) {
          if (colIndex < 1) {
              throw new IllegalArgumentException("Column index must be greater than 0.");
          }
  
          String xpath = headerTag.isPresent()
                  ? "./thead/tr[1]/th[" + colIndex + "]"
                  : "./tr[1]/th[" + colIndex + "]";
  
          return byInner(By.xpath(xpath));
      }
docs: Conveniently allows column implementations to lookup headers without duplicating the effort
  to come up with xpath for each column's header. Simply use this method with that column's
  index.
  
  @return A locator that finds a header cell based on a column index. It does this by
  constructing an xpath. If a {@code<thead>} tag is present, this will use,
  "./thead/tr[1]/th[colIndex]". If no {@code<thead>} tag is present, "./tr[1]/th[colIndex]"
  will be used.
  
  <p>If your modelling an unconventionally structured html table, you're encouraged to override
  this method.
  
  @param colIndex index of the column to find a header cell, starting from the left at 1.