public List<Type> levelOrderBFT() {
		ArrayList<Type> result = new ArrayList<Type>();
		LinkedList<BinaryNode> queue = new LinkedList<BinaryNode>();
		
		if(root == null)
			return result;
		
		queue.addLast(root);
		while(!queue.isEmpty()){
			BinaryNode n = queue.removeFirst();
			result.add(n.getData());
			if(n.getLeft() != null)
				queue.add(n.getLeft());
			if(n.getRight() != null)
				queue.add(n.getRight());
		}

		return result;
	}