private void printlnNodeWithNumberAndLabel(PrintWriter out, JadeNode node,
	        int level) {
		for (int i = 0; i < level - 1; i++) {
			if (umbrella[i]) {
				putCharAtLevel(out, i, '|');
			} else {
				putCharAtLevel(out, i, ' ');
			}
		}

		putCharAtLevel(out, level - 1, '+');

		int branchNumber;
		if (node.isExternal()) {
//			branchNumber = node.getNumber() + 1;
			branchNumber = (Integer) node.getObject("number") + 1;
		} else {
			branchNumber = (Integer) node.getObject("number") + 1 + numExternalNodes;
		}

		String numberAsString = Integer.toString(branchNumber);

		int numDashs = position[level] - numberAsString.length();
		for (int i = 0; i < numDashs; i++) {
			out.print('-');
		}
		out.print(numberAsString);

		if (node.isExternal()) {
			out.println(" " + node.getName());
		} else {
			if (!node.getName().equals("")) {
				out.print("(" + node.getName() + ")");
			}
			out.println();
		}
	}