Problema com passagem de ArrayListo para o IReport

E ai galera tudo ok…

Estou com um pequeno problema com o IReport, se alguem puder me ajudar fico muito agradecido.

Meu problema e em relação a passagem de um ArrayLista para o relátorio.
Segue o Problema

Tenho as Seguintes classes;

// Classe dos titulares
class Titular{
String nome;
Integer idade;
ArrayList dep = new ArrayList();

Titular(String n, Integer i){
	nome = n;
	idade = i;
	dep.add(new Dependente("Gustavo", "M", 20));
	dep.add(new Dependente("Wellington", "M", 30));
	dep.add(new Dependente("Jamilson", "M",20));
	dep.add(new Dependente("Izabel", "S", 45));
}

public ArrayList get(){
	return dep;
}

}

Classe dos dependentes
class Dependente{
private String nome_dep;
private String sexo;
private int idade;

Dependente(String n, String s, int i){
	nome_dep = n;
	sexo = s;
	idade = i;
	
}

public void setSexo(String s){
	sexo = s;
}

public String getSexo(){
	return sexo;
}

public void setNome_Dep(String n){
	nome_dep = n;
}

public String getNome_Dep(){
	return nome_dep;
}

public void setIdade(int n){
	idade = n;
}

public int getIdede(){
	return this.idade;
}

}

// Classe referente ao relatório
public class RelatorioArrayList {

/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	new RelatorioArrayList().geraRelatorio();
	
}

public void geraRelatorio(){
	Titular t = new Titular("Jamiro", 58);
	
	ArrayList dep = t.get();
	
	System.out.println(((Dependente)dep.get(1)).getNome_Dep());
	
	Map parametros = new HashMap();
	parametros.put("nome", t.nome);
	parametros.put("idade", t.idade);
	
	try {
		// Objeto com arrayList
		JRBeanCollectionDataSource BCD = new JRBeanCollectionDataSource(dep);
		
		parametros.put("dep", BCD);
		
		JREmptyDataSource ED = new JREmptyDataSource();
		
		// Compila Relatório
		JasperReport jasperReport = JasperCompileManager.compileReport("/Java/Workspace/reports/Rel_ArrayList.jrxml");
		
		// Preenche relatório
		JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parametros, ED);
		
		JasperViewer.viewReport(jasperPrint, true);
		
	} catch (JRException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	catch (Exception f) {
		// TODO Auto-generated catch block
		f.printStackTrace();
	}
}	

}

IReport

No Relatório principal:
Criei três parâmetro:
nome java.lang.String
idade java.lang.Integer
dep java.lang.Object

Cofigureio subreport da seguinte maneira:

Subrelatorio:
Expressão de Conexão/Fonte de dados
USAR UM DATA SOURSE
$P{dep}

Sub-Relatório(outros)

Coloquei o path do meu relatório: “C:\Java\Workspace\Reports\RelSub_ArrayList.jasper”

No Sub Relatório:
Crie um fild:
nome_dep java.lang.String

Quando executo meu código (ECLIPSE) o seguinte erro é apresentado:

java.lang.NoSuchMethodException: Unknown property ‘nome_dep’

net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : nome_dep

Não coloquei toda a descrição dos erros por questão de espaço.
Alguém pode me ajudar com isso?
Obrigado