{
final StyleMetaData[] metaData = selectCommonAttributes(elements);
final TableStyle tableStyle = getTableStyle();
if (tableStyle == TableStyle.ASCENDING)
{
Arrays.sort(metaData, new PlainMetaDataComparator());
return (new DefaultStyleDataBackend(metaData, new GroupingHeader[metaData.length], elements));
}
else if (tableStyle == TableStyle.DESCENDING)
{
Arrays.sort(metaData, Collections.reverseOrder(new PlainMetaDataComparator()));
return (new DefaultStyleDataBackend(metaData, new GroupingHeader[metaData.length], elements));
}
else
{
Arrays.sort(metaData, new GroupedMetaDataComparator());