public String findRandom()
	{
		// string to add result to
		String result = "";
		// Randomizer for getting random numbers
		Random random = new Random();
		if(treeSize>0)
		{
			// gets a random number representing the number of traversals to be taken
			int downs = random.nextInt(treeSize);
			int child = rootNode.getChildren();
			int direction = 0;
			Node newNode = rootNode;

			// only if the amount of recursions are more than 0 enter the statement
			// other wise recall the method, as the root node should not contain any relevant data
			if(downs > 0)
			{
				// generates a random number based on the number of children a node has
				child = newNode.getChildren();
				direction = random.nextInt(child);
				// loop for the specified number of traversals
				for(int i = 0 ; i < downs ; i ++)
				{
					child = newNode.getChildren();


					if(child > 0)
					{
						//if there exist children, go to them
						direction = random.nextInt(child);
						newNode = newNode.getChild(direction);
					}
					else
					{
						// if no children exist, we are at a leaf node, which means that there is
						// relevant data, and traversal canot be continued, so return the data in the Node
						result = result + newNode.getData().toString() + "\n";
						break;
					}
				}
			}
			else
				result = findRandom();
		}

		return result;
	}