System.out.println("value: [" + value + "]  number of references: " + numberOfParameters );
	public Translation(String key, String value, IntegerIdGenerator idGenerator) {		this.key = key;		this.value = value;		// split the value along the "{0}" etc patterns:		Matcher matcher = PARAMETER_PATTERN.matcher( value );		int numberOfParameters = 0;		while (matcher.find()) {			numberOfParameters++;		}		matcher.reset();		System.out.println("value: [" + value + "]  number of references: " + numberOfParameters );		if (numberOfParameters == 0) {			this.type = PLAIN;		} else if (numberOfParameters == 1) {			this.type = ONE_PARAMETER;			matcher.find();			String param = matcher.group();			this.parameterIndex = Integer.parseInt( param.substring(1 , param.length()-1) );			this.oneValueStart = value.substring( 0, matcher.start() );			this.oneValueEnd = value.substring( matcher.end() );		} else {			this.type = SEVERAL_PARAMETERS;			this.parameterIndices = new int[ numberOfParameters ];			this.valueChunks = new String[ numberOfParameters + 1 ];			int i = 0;			int lastEnd = 0;			while (matcher.find()) {				String param = matcher.group();				this.parameterIndices[i] = Integer.parseInt( param.substring(1 , param.length()-1) );				this.valueChunks[i] = value.substring( lastEnd, matcher.start() );				lastEnd = matcher.end();				i++;			}			this.valueChunks[i] = value.substring( lastEnd );			this.id = idGenerator.getId(key, true);		}	}