// the sorting priority is the same as the sorters
// array
for( int i=0;i<sorters.length;i++ )
{
Sorter aSorter = sorters[i];
String columnName = aSorter.getColumn();
boolean forceNumeric = aSorter.forceSortNumerically();
//////////////////////////////
// get value from k1, k2
//////////////////////////////
Object v1 = this.getValue(k1, columnName, forceNumeric, sorters);
Object v2 = this.getValue(k2, columnName, forceNumeric, sorters);
//////////////////////
// start to compare
//////////////////////
int result;
try
{
this.setType(Tuple.getType(v1), Tuple.getType(v2));
result = this.compare(v1, v2, conf);
if( result!=0 )
{
// ordering is decided, return the result
Ordering ordering = aSorter.getOrdering();
switch(ordering)
{
case ASC:
// remain the save
return result;