public JTree populateTree() {
		// get owner and pet info from DB and populate tree
		DefaultMutableTreeNode root = new DefaultMutableTreeNode("Owners");

		try {
			Vector<Owner> Owners = Owner.getAllOwners();
			// for each owner, add them to the tree
			for (int i = 0; i < Owners.size(); i++) {
				Owner curOwner = Owners.elementAt(i);
				DefaultMutableTreeNode owner = new DefaultMutableTreeNode(
						curOwner);
				// for each pet in the current owner add them as a node under
				// their owner
				for (int j = 0; j < curOwner.Pets.size(); j++) {
					owner.add(new DefaultMutableTreeNode(curOwner.Pets
							.elementAt(j)));
				}
				root.add(owner);
			}
		} catch (Exception e) {
			e.printStackTrace();
			System.out.println("Error Populating Tree.");
		}
		// create new tree from root
		return new JTree(root);
	}