code: protected int normalizeIndex(int index) throws SQLException {
          if (index < 0) {
              int columnCount = getResultSet().getMetaData().getColumnCount();
              do {
                  index += columnCount;
              }
              while (index < 0);
          }
          return index + 1;
      }
docs: Takes a zero based index and convert it into an SQL based 1 based index.
  A negative index will count backwards from the last column.
  
  @param index the raw requested index (may be negative)
  @return a JDBC index
  @throws SQLException if some exception occurs finding out the column count