- public void sort(final Viewer viewer, Object[] elements) {\r
- \r
- TaxonBase[] nodesArray = new TaxonBase[elements.length];\r
- if (elements.length>1){\r
- for(int i=0; i<elements.length; i++){\r
- nodesArray[i] = ((TaxonNode)elements[i]).getTaxon();\r
- }\r
- Arrays.sort(nodesArray, this.getComparator());\r
+ public int compare(Viewer viewer, Object e1, Object e2){\r
+ if (e1 instanceof Classification && e2 instanceof Classification){\r
+ return ((Classification)e1).getTitleCache().compareTo(((Classification)e2).getTitleCache());\r
+ } else{\r
+ return this.getComparator().compare(((TaxonNode)e1).getTaxon(),((TaxonNode)e2).getTaxon());\r