private void buildQueue(GeneralTreeNode<T> cur) {
			if (cur != null)
				queue.add(cur);

			while (!queue.isEmpty()) {
				GeneralTreeNode<T> tmp = queue.poll();
				OutputQueue.add(tmp);
				Iterator<GeneralTreeNode<T>> it = tmp.getChildren();
				while (it.hasNext()) {
					queue.add(it.next());
				}
			}
		}