else
} else {
  protected boolean specialAppendClause (String col, String col2, List constraints, StringBuffer sb, boolean justDidClause) {	if (constraints.isEmpty())	  return false;	boolean selfPropelled = false;	boolean ground = false;	if (justDidClause) sb.append("\nand ");	sb.append("(");		StringBuffer range = new StringBuffer();	range.append("(");	for (Iterator iter = constraints.iterator (); iter.hasNext ();) {	    String constraint = (String) iter.next ();	    if (constraint.equals(CategoryNode.GROUND) || constraint.equals(CategoryNode.SELF)) {		range.append(DGPSPConstants.CONV_TYPE_TRUCK+","+			     DGPSPConstants.CONV_TYPE_TRAIN+","+			     DGPSPConstants.CONV_TYPE_SELF_PROPELLABLE+","+			     DGPSPConstants.CONV_TYPE_FACILITY);		ground = true;	    } else if (constraint.equals(CategoryNode.AIR)) {		range.append(DGPSPConstants.CONV_TYPE_PLANE+","+			     DGPSPConstants.CONV_TYPE_PERSON);	    } else if (constraint.equals(CategoryNode.SEA)) {		range.append(DGPSPConstants.CONV_TYPE_SHIP+","+			     DGPSPConstants.CONV_TYPE_DECK);	    }	    if (constraint.equals(CategoryNode.SELF)) selfPropelled = true;	    if (iter.hasNext()) range.append(",");	}	range.append(")");		sb.append (col + " in " + range);	sb.append (")");		if (ground) {	  sb.append("\nand (");	  sb.append(col2);	  sb.append(" = ");	  if (selfPropelled)	    sb.append("1");	  else	    sb.append("0");	  sb.append(")");	}	return true;  }