JavaDoc for getSortProperty() in org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<T, S> interface states:
"Returns the name of the property that this header sorts. If null is returned the header will be unsortable."
According to this JavaDoc I'd expect that it should be String.
I assume that someone would like to use something other than String. But I think that at least for PropertyColumn it has to be bound to String, so change the:
public class PropertyColumn<T, S> extends AbstractColumn<T, S> implements IExportableColumn<T, S, Object>
public class PropertyColumn<T> extends AbstractColumn<T, String> implements IExportableColumn<T, String, Object>
because referenced PropertyModel is not parameterized with S.
I also suggest to add PropertySortParam that extends SortParam<String> to framework.
And also IPropertyColumn<T> interface that extends IColumn<T, String>.
@param <T> for IColumn<T, S> is not described too.