class PsuDataMapper {

    public PsuIdData mapToPsuIdData(PsuData psuData) {
        return Optional.ofNullable(psuData)
                   .filter(PsuData::isNotEmpty)
                   .map(psu -> new PsuIdData(
                       psu.getPsuId(),
                       psu.getPsuIdType(),
                       psu.getPsuCorporateId(),
                       psu.getPsuCorporateIdType(),
                       psu.getPsuIpAddress(),
                       mapToAdditionalPsuIdData(psu.getAdditionalPsuData())
                   ))
                   .orElse(null);
    }

}