pm.getFetchPlan().setMaxFetchDepth(-1);
plan.addFetchGroup("employee.department");
plan.addFetchGroup("department.company");
plan.addFetchGroup("company.address");
Iterator employees = pm.createExtent(PCEmployee.class, true).iterator();
while (employees.hasNext()) {
PCEmployee emp = (PCEmployee) employees.next();
PCDepartment dept = (PCDepartment) PCEmployee.reflect(emp,
"department");