public static String plumpColumnName(final String kin, final Set<String> seen) {
		String k = kin.toUpperCase();
		final int colonIndex = k.indexOf(':');
		if(colonIndex>0) { 		// get rid of any trailing : type info
			k = k.substring(0,colonIndex);
		}		
		k = stompMarks(k).replaceAll("\\W+"," ").trim().replaceAll("\\s+","_");
		if((k.length()<=0)||invalidColumnNames.contains(k.toUpperCase())||(!Character.isLetter(k.charAt(0)))) {
			k = columnPrefix + k;
		}
		if(seen.contains(k.toUpperCase())) {
			int i = 2;
			while(true) {
				String kt = k + "_" + i;
				if(!seen.contains(kt.toUpperCase())) {
					k = kt;
					break;
				} else {
					++i;
				}
			}
		}
		seen.add(k.toUpperCase());
		return k;
	}