private String sort(String list, boolean reverse, String delimiter) {
try {
int[] unsorted = ListProcessor.toIntArray(list, delimiter);
if (reverse) {
return ListProcessor.toString(ListProcessor.reverse(ListProcessor.sort(unsorted)), delimiter);
} else {
return ListProcessor.toString(ListProcessor.sort(unsorted), delimiter);
}
} catch (NumberFormatException e) {
try {
double[] unsorted = ListProcessor.toDoubleArray(list, delimiter);
if (reverse) {
return ListProcessor.toString(ListProcessor.reverse(ListProcessor.sort(unsorted)), delimiter);
} else {
return ListProcessor.toString(ListProcessor.sort(unsorted), delimiter);
}
} catch (NumberFormatException f) {
String[] unsorted = ListProcessor.toArray(list, delimiter);
if (reverse) {
return ListProcessor.toString(ListProcessor.reverse(ListProcessor.sort(unsorted)), delimiter);
} else {
return ListProcessor.toString(ListProcessor.sort(unsorted), delimiter);
}
}
}
}
}