public UmlSource(List<? extends CharSequence> source, boolean checkEndingBackslash) {
		final List<String> tmp = new ArrayList<String>();
		// final DiagramType type =
		// DiagramType.getTypeFromArobaseStart(source.get(0).toString());
		if (checkEndingBackslash) {
			final StringBuilder pending = new StringBuilder();
			for (CharSequence cs : source) {
				final String s = cs.toString();
				if (StringUtils.endsWithBackslash(s)) {
					pending.append(s.substring(0, s.length() - 1));
				} else {
					pending.append(s);
					tmp.add(pending.toString());
					pending.setLength(0);
				}
			}
		} else {
			for (CharSequence s : source) {
				tmp.add(s.toString());
			}
		}
		this.source = Collections.unmodifiableList(tmp);
	}