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); } } } } }