class ReportUnitImpl extends ResourceImpl implements ReportUnit,
        ReferenceNormalizer<NormalizationStrategy<? super InputControlsContainer>>, Serializable {

    @Override
    public void accept(ResourceVisitor visitor) {
        super.accept(visitor);
        Set<ResourceReference> resourceReferences = new HashSet<>();
        resourceReferences.add(dataSource);
        resourceReferences.add(mainReport);
        resourceReferences.add(query);
        resourceReferences.addAll(Optional.ofNullable(getInputControls()).orElseGet(ArrayList::new));
        resourceReferences.addAll(Optional.ofNullable(getResources()).orElseGet(ArrayList::new));

        resourceReferences.stream().filter(Objects::nonNull).forEach(o -> o.accept(visitor));

    }

    public  ReportUnitImpl();

}