code: protected void append(Object object, String indentation, int index) {
  		if (indentation.length() == 0) {
  			append(object, index);
  			return;
  		}
  		if (object == null)
  			return;
  		if (object instanceof String) {
  			append(indentation, (String)object, index);
  		} else if (object instanceof StringConcatenation) {
  			StringConcatenation other = (StringConcatenation) object;
  			List<String> otherSegments = other.getSignificantContent();
  			appendSegments(indentation, index, otherSegments, other.lineDelimiter);
  		} else if (object instanceof StringConcatenationClient) {
  			StringConcatenationClient other = (StringConcatenationClient) object;
  			other.appendTo(new IndentedTarget(this, indentation, index));
  		} else {
  			final String text = getStringRepresentation(object);
  			if (text != null) {
  				append(indentation, text, index);
  			}
  		}
  	}
docs: Add the string representation of the given object to this sequence at the given index. The given indentation will
  be prepended to each line except the first one if the object has a multi-line string representation.
  
  @param object
  the to-be-appended object.
  @param indentation
  the indentation string that should be prepended. May not be <code>null</code>.
  @param index
  the index in the list of segments.