private void doVisit(SystemDef systemDef, DataCollectionVisitor visitor) { visitor.visitSystemDef(systemDef); // handle the choice between sysOid and sysOidMask doVisit(systemDef.getSystemDefChoice(), visitor); // handle ipList doVisit(systemDef.getIpList(), visitor); // handle collect doVisit(systemDef.getCollect(), visitor); visitor.completeSystemDef(systemDef); }