private String readFolder( Metadata metadata, String user )
	{
		String listOfNodes = "\n";
		//ArrayList<String> listOfFiles = new ArrayList<String>(), listOfFolders = new ArrayList<String>();
		Enumeration<String> keys = getChildren().keys();

		//Iterate through the list of files and print them out
		System.out.printf("\n%-20s %-5s %-10s %11s\n", "File/Folder Name", "Type", "Owner", user + " Access");
		System.out.println("-----------------------------------------------------------");
		while( keys.hasMoreElements() )
		{
			String key = (String) keys.nextElement();
			FileNode childNode = getChildren().get( key );
			String folderFile, owner, access = "";
			MetaRule rule = metadata.getMetaRule( key );
			
			if( childNode.isFolder() )
				folderFile = "Dir";
			else
				folderFile = "File";
			
			if( rule == null )
			{
				owner = "None";
				
				if( childNode.isFolder() )
					access = "rw";
				else
					access = "--";
				
			}
			else
			{
				owner = rule.getOwner();
				AceRule aceRule = rule.getACERule( user );
				
				if( aceRule == null )
				{
					if( owner.equals( user ) )
						access = "rw";
					else if( childNode.isFolder() )
						access = "rw";
					else
						access = "--";
				}
				else
				{
					if( aceRule.isReadable() )
						access += "r";
					else
						access += "-";
					
					if( aceRule.isWritable() )
						access += "w";
					else
						access += "-";
				}
			}
			
			System.out.printf( "%-20s %-5s %-10s %6s\n", childNode.getName(), folderFile, owner, access );
		}
		
		return "\n";
	}