private void produceStringRepresentation(StringBuilder s) {
		int t = 0;
		if (channelType.isTap()) {
			s.append(channelType.getStringRepresentation());
		}
		if (nameComponents.size() > 0 && channelType.isTap() &&
				nameComponents.get(0).equalsIgnoreCase(channelType.tapSource().name())) {
			t = 1;
		}
		for (int max = nameComponents.size(); t < max; t++) {
			s.append(nameComponents.get(t));
			if (t < nameComponents.size() - 1) {
				s.append(":");
			}
		}
		if (indexingElements.size() != 0) {
			for (int t2 = 0, max = indexingElements.size(); t2 < max; t2++) {
				s.append(".");
				s.append(indexingElements.get(t2));
			}
		}
	}
@author Andy Clement
@author David Turanski
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/stream/dsl/ChannelNode.java