	//create a node with label "a"
	FileNode myFirstNode = new FileNode("a", false);
	
	Tree<FileNode> myTree = new Tree<FileNode> (myFirstNode);
	
	//add 4 children to node with label "a"
	myTree.addChild( new Tree<FileNode> ( new FileNode("d", false) ) );
	myTree.addChild( new Tree<FileNode> ( new FileNode("e", false) ) );
	myTree.addChild( new Tree<FileNode> ( new FileNode("q", false) ) );
	myTree.addChild( new Tree<FileNode> ( new FileNode("r", false) ) );
	
	//add 2 children to node with label "r" (the first child) 
	Tree<FileNode> tmp = myTree.getFirstChild();
	tmp.addChild ( new Tree<FileNode> ( new FileNode("zz", false) )  );  
	tmp.addChild ( new Tree<FileNode> ( new FileNode("yy", false) )  );  
	
	//add 3 children to node  with label "e" 
	Tree<FileNode> tmp2 = tmp.getNextSibling().getNextSibling ();
	tmp2.addChild ( new Tree<FileNode> ( new FileNode("kkk", false) )  ); 
	tmp2.addChild ( new Tree<FileNode> ( new FileNode("nnn", false) )  ); 
	tmp2.addChild ( new Tree<FileNode> ( new FileNode("ppp", false) )  );  
	
	System.out.println( myTree);
	
	FileNode Enode = new FileNode("e", false);
	
	Tree<FileNode> rootedAtE = myTree.findChild( Enode );
	System.out.println( rootedAtE );
	
