If the sort should always occur and can never be altered, you need to either:
a) ensure you use compound Comparators that consider your hidden column's values
b) stack 2 SortedLists in your pipeline. The first one honors the static (hidden column) sort. The 2nd one breaks sorting ties using the column selections the user makes (via the normal TableComparatorChooser mechanism).
b) is trivial to implement, though it will require more memory and introduce another layer to your pipeline.