here we go again...

while trying to set the display field with an attribute that belongs to an object of my ModelData ComboBox, the data are not shown correctly

here the code:
Code:
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.Dialog;
import com.extjs.gxt.ui.client.widget.form.ComboBox;
import com.extjs.gxt.ui.client.widget.form.FormPanel;
import com.google.gwt.core.client.EntryPoint;

public class Index implements EntryPoint {
    
    private ComboBox<Person> comboBox;
    private Person person1;
    private FormPanel formPanel;
    private Dialog dialog;
    private Person person2;
    private Address address1;
    private Address address2;
    
    public void onModuleLoad() {
        
        Long i = new Long(3);
    
        person1 = new Person();
        person1.setId(1);
        person1.setName("Rafael");
        person1.setPersonCode(i);

        address1 = new Address();
        address1.setId(332);
        address1.setStreetName("First Heaven");
        address1.setStreetNumber(i+10);

        person1.setAddress(address1);
        //======================
        
        person2 = new Person();
        person2.setId(2);
        person2.setName("Offspring");
        person2.setPersonCode(i+1);

        address2 = new Address();
        address2.setId(32);
        address2.setStreetName("Times Square");
        address2.setStreetNumber(i+20);

        person2.setAddress(address2);
        //======================
        
        ListStore<Person> listPerson = new ListStore<Person>();
        listPerson.add(person1);
        listPerson.add(person2);
        
        dialog = new Dialog();
        dialog.setWidth(400);
        dialog.setHeight(200);
        
        formPanel = new FormPanel();
        formPanel.setHeaderVisible(false);
        formPanel.setFrame(true);
        formPanel.setFieldWidth(110);  
        formPanel.setLabelWidth(100);  
        formPanel.setButtonAlign(HorizontalAlignment.CENTER);  
        formPanel.setWidth("100%");
        
        comboBox = new ComboBox<Person>();
        comboBox.setStore(listPerson);
        comboBox.setDisplayField("address.streetName");
        
        comboBox.setFieldLabel("Person cod:");
        
        formPanel.add(comboBox);
        dialog.add(formPanel);
        
        dialog.show();
    }

}
Code:
import com.extjs.gxt.ui.client.data.BaseTreeModel;

public class Person extends BaseTreeModel {

    private static final long serialVersionUID = -7506205164127602576L;
    
        private int id;
        private String name;
        private Long personCode;
        private Address personAddress;
        
        public Person(){
            
        }
        
        public int getId() {
            return get("id");
        }
        
        public void setId(int id) {
            set("id", id);
        }
        
        public String getName() {
            return get("name");
        }
        
        public void setName(String name) {
            set("name",  name);
        }
        
        public Long getPersonCode() {
            return get("personCode");
        }
        
        public void setPersonCode(Long personCode) {
            set("personCode", personCode);
        }

        public Address getAddress() {
            return get("personAddress");
        }

        public void setAddress(Address personAddress) {
            set("personAddress", personAddress);
        }
        
}
Code:
import com.extjs.gxt.ui.client.data.BaseTreeModel;

public class Address extends BaseTreeModel {

    private static final long serialVersionUID = 1387724684937498499L;

    private int id;
    private String streetName;
    private Long streetNumber;
    
    public int getId() {
        return id;
    }
    
    public void setId(int id) {
        this.id = id;
    }
    
    public String getStreetName() {
        return streetName;
    }
    
    public void setStreetName(String streetName) {
        this.streetName = streetName;
    }
    
    public Long getStreetNumber() {
        return streetNumber;
    }
    
    public void setStreetNumber(Long streetNumber) {
        this.streetNumber = streetNumber;
    }
    
}