// Path: mvc-with-java-swing/src/main/java/com/link_intersystems/blog/mvc/data/Address.java
// public class Address {
// 
// 	private String street;
// 
// 	private String streetNr;
// 
// 	private String zipCode;
// 
// 	private String city;
// 
// 	public String getStreet() {
// 		return street;
// 	}
// 
// 	public void setStreet(String street) {
// 		this.street = street;
// 	}
// 
// 	public String getStreetNr() {
// 		return streetNr;
// 	}
// 
// 	public void setStreetNr(String streetNr) {
// 		this.streetNr = streetNr;
// 	}
// 
// 	public String getZipCode() {
// 		return zipCode;
// 	}
// 
// 	public void setZipCode(String zipCode) {
// 		this.zipCode = zipCode;
// 	}
// 
// 	public String getCity() {
// 		return city;
// 	}
// 
// 	public void setCity(String city) {
// 		this.city = city;
// 	}
// 
// }
// 
// Path: mvc-with-java-swing/src/main/java/com/link_intersystems/blog/mvc/data/Person.java
// public class Person {
// 
// 	private String firstname;
// 
// 	private String lastname;
// 
// 	private Address address;
// 
// 	public String getFirstname() {
// 		return firstname;
// 	}
// 
// 	public void setFirstname(String firstname) {
// 		this.firstname = firstname;
// 	}
// 
// 	public String getLastname() {
// 		return lastname;
// 	}
// 
// 	public void setLastname(String lastname) {
// 		this.lastname = lastname;
// 	}
// 
// 	public Address getAddress() {
// 		return address;
// 	}
// 
// 	public void setAddress(Address address) {
// 		this.address = address;
// 	}
// 
// }
// 
// Path: mvc-with-java-swing/src/main/java/com/link_intersystems/blog/mvc/model/tree/AddressTreeNode.java
// public enum AddressProperty {
// 	STREET, STREET_NR, ZIP_CODE, CITY;
// }


import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import javax.swing.tree.TreeNode;
import com.link_intersystems.blog.mvc.data.Address;
import com.link_intersystems.blog.mvc.data.Person;
import com.link_intersystems.blog.mvc.model.tree.AddressTreeNode.AddressProperty;
package com.link_intersystems.blog.mvc.model.tree;




class PersonTreeNode implements TreeNode {

	private Person person;
	private TreeNode parent;

	private List<TreeNode> addressTreeNodes;

	public PersonTreeNode(TreeNode parent, Person person) {
// Path: mvc-with-java-swing/src/main/java/com/link_intersystems/blog/mvc/data/Address.java
// public class Address {
// 
// 	private String street;
// 
// 	private String streetNr;
// 
// 	private String zipCode;
// 
// 	private String city;
// 
// 	public String getStreet() {
// 		return street;
// 	}
// 
// 	public void setStreet(String street) {
// 		this.street = street;
// 	}
// 
// 	public String getStreetNr() {
// 		return streetNr;
// 	}
// 
// 	public void setStreetNr(String streetNr) {
// 		this.streetNr = streetNr;
// 	}
// 
// 	public String getZipCode() {
// 		return zipCode;
// 	}
// 
// 	public void setZipCode(String zipCode) {
// 		this.zipCode = zipCode;
// 	}
// 
// 	public String getCity() {
// 		return city;
// 	}
// 
// 	public void setCity(String city) {
// 		this.city = city;
// 	}
// 
// }
// 
// Path: mvc-with-java-swing/src/main/java/com/link_intersystems/blog/mvc/data/Person.java
// public class Person {
// 
// 	private String firstname;
// 
// 	private String lastname;
// 
// 	private Address address;
// 
// 	public String getFirstname() {
// 		return firstname;
// 	}
// 
// 	public void setFirstname(String firstname) {
// 		this.firstname = firstname;
// 	}
// 
// 	public String getLastname() {
// 		return lastname;
// 	}
// 
// 	public void setLastname(String lastname) {
// 		this.lastname = lastname;
// 	}
// 
// 	public Address getAddress() {
// 		return address;
// 	}
// 
// 	public void setAddress(Address address) {
// 		this.address = address;
// 	}
// 
// }
// 
// Path: mvc-with-java-swing/src/main/java/com/link_intersystems/blog/mvc/model/tree/AddressTreeNode.java
// public enum AddressProperty {
// 	STREET, STREET_NR, ZIP_CODE, CITY;
// }


// Path: mvc-with-java-swing/src/main/java/com/link_intersystems/blog/mvc/model/tree/PersonTreeNode.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import javax.swing.tree.TreeNode;
import com.link_intersystems.blog.mvc.data.Address;
import com.link_intersystems.blog.mvc.data.Person;
import com.link_intersystems.blog.mvc.model.tree.AddressTreeNode.AddressProperty;

package com.link_intersystems.blog.mvc.model.tree;




class PersonTreeNode implements TreeNode {

	private Person person;
	private TreeNode parent;

	private List<TreeNode> addressTreeNodes;

	public PersonTreeNode(TreeNode parent, Person person) {
		this.parent = parent;