private ColumnAndRange getColumnAndRange(double value) {
			//
			// The values are the sort ordinals: 1, 2, 3, etc, in double form: 1.1, 1.5... Each
			// value has the ordinal and a range from 0 - .99
			//
			BigDecimal bigDecimal = new BigDecimal(String.valueOf(value));
			int ordinal = bigDecimal.intValue();
			Integer columnModelIndex = columnsByOrdinal.get(ordinal);
			if (columnModelIndex >= clickedColumnIndex) {
				// Ignore the clicked column when emphasizing the header, as to not be distracting 
				// for the column that they are looking at already.  Once we have gotten to or past
				// the clicked column, then choose the next ordinal to emphasize.
				int nextOrdinal = ordinal + 1;
				columnModelIndex = columnsByOrdinal.get(nextOrdinal);
			}

			BigDecimal bigOrdinal = new BigDecimal(ordinal);
			BigDecimal decimalValue = bigDecimal.subtract(bigOrdinal);
			return new ColumnAndRange(columnModelIndex, decimalValue.doubleValue());
		}
A painter that will emphasize each sorted column, except for the clicked column, over the 
course of an animation.  The painter is called with the current emphasis that is passed to
the column along with a repaint request.
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/TableUtils.java