code: protected int getCustomColumnIndex(int columnIndex) {
          Integer customColumnIndex = cacheColumnIdxToIdxCustomColumnsOnly.get(columnIndex);
          if (customColumnIndex != null) {
              return customColumnIndex;
          }
          return -1;
      }
docs: Returns the index of the custom column as if no default columns existed.
  <p>
  Helper method for subclasses to use the column index without worrying of the actual position of the column in relation to
  default columns.
  </p>
  <p>
  It can be used, for example, with {@code getCustomColumnClass(int)} as: <blockquote>
  
  <pre>
  protected Class&lt;?&gt; getCustomColumnClass(int columnIndex) {
  switch (getCustomColumnIndex(columnIndex)) {
  case 0:
  // Class of the first custom column
  return String.class;
  break;
  case 1:
  // Class of the second custom column
  return Integer.class;
  default:
  return String.class;
  }
  }
  </pre>
  
  </blockquote>
  
  @param columnIndex the column index
  @return the custom column index as if no default columns existed or -1 if not a custom column.