o1 = jfritz.getCallerlist().findLastCall(v1); o2 = jfritz.getCallerlist().findLastCall(v2);
o1 = jfritz.getCallerlist().findLastCall(v1).getCalldate(); o2 = jfritz.getCallerlist().findLastCall(v2).getCalldate();
		public int compare(Object a, Object b) {			Object o1, o2;			Person v1 = (Person) a;			Person v2 = (Person) b;			switch (colIndex) {			case 0:				o1 = Boolean.toString(v1.isPrivateEntry());				o2 = Boolean.toString(v2.isPrivateEntry());				break;			case 1:				o1 = v1.getFullname().toString();				o2 = v2.getFullname().toString();				break;			case 2:			    o1 = v1.getStandardTelephoneNumber().toString();			    o2 = v2.getStandardTelephoneNumber().toString();			    break;			case 3:			    o1 = v1.getStreet();			    o2 = v2.getStreet();			    break;			case 4:			    o1 = v1.getPostalCode() + v1.getCity();			    o2 = v2.getPostalCode() + v1.getCity();			    break;			case 5:			    o1 = jfritz.getCallerlist().findLastCall(v1);			    o2 = jfritz.getCallerlist().findLastCall(v2);			    break;			default:				o1 = v1.getFullname().toString();				o2 = v2.getFullname().toString();			}			// Treat empty strings like nulls			if (o1 instanceof String && ((String) o1).trim().length() == 0) {				o1 = null;			}			if (o2 instanceof String && ((String) o2).trim().length() == 0) {				o2 = null;			}			// Sort nulls so they appear last, regardless			// of sort order			if (o1 == null && o2 == null) {				return 0;			} else if (o1 == null) {				return 1;			} else if (o2 == null) {				return -1;			} else if (o1 instanceof Comparable) {				if (ascending) {					return ((Comparable) o1).compareTo(o2);				} else {					return ((Comparable) o2).compareTo(o1);				}			} else {				if (ascending) {					return o1.toString().compareTo(o2.toString());				} else {					return o2.toString().compareTo(o1.toString());				}			}		}