protected void print(Data data, int indentLevel) {
			StringBuffer text = new StringBuffer(80);
			for(int i = 0; i < indentLevel; ++i) {
				text.append(indentationPrefix);
			}
			text.append(data.getName()).append(": ");
			if(data.isPlain()) {
				try {
					Data.TextValue textValue = data.asTextValue();
					String value = textValue.getValueText();
					int kommaPosition = value.lastIndexOf(',');
					if(kommaPosition < 0) {
						kommaPosition = value.length();
					}
					int fillCount = valuePosition - text.length() - kommaPosition;
					while(fillCount-- > 0) {
						text.append(" ");
					}
					text.append(value).append(" ");
					String suffix = textValue.getSuffixText();
					if(!suffix.equals("")) {
						fillCount = suffixPosition - text.length();
						while(fillCount-- > 0) {
							text.append(" ");
						}
						text.append(suffix);
					}
					getProtocolFileWriter().println(text.toString());
				}
				catch(Exception e) {
					debug.error(
							text.append("<<").append(e.getMessage())
									.append(">>").toString()
					);
				}
			}
			else {
				getProtocolFileWriter().println(text.toString());
				Iterator i = data.iterator();
				++indentLevel;
				while(i.hasNext()) print((Data)i.next(), indentLevel);
			}
		}