public void visitForceChildren(final TreeVisitor visitor) {
		if (visitor.reverse()) {
			for (int i = target.length - 1; i >= 0; i--) {
				target[i].visit(visitor);
			}

			for (int i = source.length - 1; i >= 0; i--) {
				source[i].visit(visitor);
			}
		} else {
			for (int i = 0; i < source.length; i++) {
				source[i].visit(visitor);
			}

			for (int i = 0; i < target.length; i++) {
				target[i].visit(visitor);
			}
		}
	}