final public Diagram createSystem(UmlSource source) {
		final IteratorCounter it = source.iterator();
		final String startLine = it.next();
		P system = init(startLine);
		while (it.hasNext()) {
			final String s = it.next();
			if (StartUtils.isArobaseEndDiagram(s)) {
				if (source.getTotalLineCount() == 2) {
					assert false;
					return buildEmptyError(source);
				}
				if (system != null) {
					system.setSource(source);
				}
				return system;
			}
			system = executeLine(system, s);
			if (system == null) {
				return new PSystemError(source, new ErrorUml(ErrorUmlType.SYNTAX_ERROR, "Syntax Error?",
						it.currentNum() - 1));
			}
		}
		if (system != null) {
			system.setSource(source);
		}
		return system;
	}