else if (o1 instanceof String) {
else if (o1 instanceof String && o2 instanceof String) {
  public int compare(Viewer _viewer, Object _o1, Object _o2) {    String property = myColumnProperties[mySortedColumn];    Object o1 = getComparisonValue(_o1, property);    Object o2 = getComparisonValue(_o2, property);    int comparison = 0;    if (o1 == null && o2 == null) {      comparison = 0;    }    else if (o1 == null) {      comparison = -1;    }    else if (o2 == null) {      comparison = 1;    }    else if (o1 instanceof Boolean) {      boolean left = ((Boolean) _o1).booleanValue();      boolean right = ((Boolean) _o2).booleanValue();      if (left == right) {        comparison = 0;      }      else if (left == true) {        comparison = 1;      }      else {        comparison = -1;      }    }    else if (o1 instanceof Integer) {      comparison = ((Integer) o1).compareTo((Integer) o2);    }    else if (o1 instanceof String) {      comparison = collator.compare(o1, o2);    }    if (myDirection == SWT.DOWN) {      comparison = -comparison;    }    return comparison;  }