public RideDto entityToDto(Ride entity, Converter parent) { if (entity == null) { return null; } RideDto dto = new RideDto(); dto.setId(entity.getId()); dto.setStartTime(entity.getStartTime()); dto.setEndTime(entity.getEndTime()); dto.setTachometerStart(entity.getTachometerStart()); dto.setTachometerEnd(entity.getTachometerEnd()); dto.setDescription(entity.getDescription()); EmployeeConverter ec = ConverterContainer.getEmployeeConverter(); VehicleConverter vc = ConverterContainer.getVehicleConverter(); if (!(parent == ec)) { dto.setEmployee(ec.entityToDto(entity.getEmployee(), this)); } if (!(parent == vc)) { dto.setVehicle(vc.entityToDto(entity.getVehicle(), this)); } return dto; }