Target Unreachable, 'tabperitosPK' returned null]

Tenho uma aplicação web que está dando esse erro …
Em outros posts daqui do forum vi que esse erro é comum quando não se instancia a classe …
Mas eu instancio a class no construtor do meu mb …
E mesmo assim o erro persiste …

[code]public class AgendaPeritoMB {
private Tabagendaperito agendaPerito;
private ListagendaPeritoList;
private TabperitosPK tabPeritos;
public AgendaPeritoMB() {
this.agendaPerito=new Tabagendaperito();
this.tabPeritos=new TabperitosPK();

}

//gets e sets omitidos
//outros metodos omitidos …
[/code]

[code]public class AreaPeritoMB {
private Tabareaperito areaPerito;
private List selectItems;
private List areaPeritoList;

private TabperitosPK tabPeritos;

public AreaPeritoMB() {
 
 this.areaPerito=new Tabareaperito();
 fillSelectItems();
this.tabPeritos =new TabperitosPK();

}

gets e sets omitidos
outros metodos omitidos tb
[/code]

[code]public class PeritoMB {

/**
 * Creates a new instance of PeritoMB
 */
private Tabagendaperito agendaPerito;

private Tabareaperito  areaPerito;
private Tabperitos perito ;
private List<Tabperitos> peritos;
private List<SelectItem> selectItems;
private TabperitosPK tabPeritos;

private ListselectItemsAreaPerito;

public PeritoMB() {
this.tabPeritos=new TabperitosPK();
this.perito=new Tabperitos();
fillSelectItems();

}

gets e sets omitidos e metodos posteriores tb …[/code]

As minhas classes foram geradas pelo netbeans com o banco …
Nesse projeto tenho uma classe com uma chave primaria composta …

[code]@Embeddable
public class TabperitosPK implements Serializable {
@Basic(optional = false)
@Column(name = “AreaPerito”)
private String areaPerito;
@Basic(optional = false)
@Column(name = “Nome”)
private String nome;

public TabperitosPK() {
}

public TabperitosPK(String areaPerito, String nome) {
    this.areaPerito = areaPerito;
    this.nome = nome;
}

public String getAreaPerito() {
    return areaPerito;
}

public void setAreaPerito(String areaPerito) {
    this.areaPerito = areaPerito;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

@Override
public int hashCode() {
    int hash = 0;
    hash += (areaPerito != null ? areaPerito.hashCode() : 0);
    hash += (nome != null ? nome.hashCode() : 0);
    return hash;
}

@Override
public boolean equals(Object object) {
    // TODO: Warning - this method won't work in the case the id fields are not set
    if (!(object instanceof TabperitosPK)) {
        return false;
    }
    TabperitosPK other = (TabperitosPK) object;
    if ((this.areaPerito == null && other.areaPerito != null) || (this.areaPerito != null && !this.areaPerito.equals(other.areaPerito))) {
        return false;
    }
    if ((this.nome == null && other.nome != null) || (this.nome != null && !this.nome.equals(other.nome))) {
        return false;
    }
    return true;
}

@Override
public String toString() {
    return "VO.TabperitosPK[ areaPerito=" + areaPerito + ", nome=" + nome + " ]";
}

}
[/code]
Parte onde aponta o erro

[code]

Nome: [/code] Meu faces config [code] usuarioMB MB.UsuarioMB request loginMB MB.LoginMB request peritoMB MB.PeritoMB request /index.jsp Sucesso /retorno_index.jsp /retorno_index.jsp entrar /principal.jsp areaPeritoMB MB.AreaPeritoMB request /cadastrar_perito.jsp listar /listar_perito.jsp agendaPeritoMB MB.AgendaPeritoMB request /agenda_perito.jsp buscar /listar_agenda_perito.jsp [/code]

Utilizo jpa 1.0 jsf 1.2 rodando no tomcat 7.0.27.0 richfaces 3.0