public List<T>[] getLevels()
	{
		List<T>[] levels = new ArrayList[maximumDepth + 1];

		for (int i = 0; i <= maximumDepth; i++)
		{
			levels[i] = new ArrayList<T>();
		}

		for (int i = 0; i < orderedSize; i++)
		{
			levels[orderedNodes[i].getDepth()].add( ordered[i] );
		}

		return levels;
	}