All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.entur.gbfs.mapper.GBFSMapperImpl Maven / Gradle / Ivy

There is a newer version: 2.0.16
Show newest version
package org.entur.gbfs.mapper;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.processing.Generated;
import org.mapstruct.factory.Mappers;
import org.mobilitydata.gbfs.v2_3.free_bike_status.GBFSFreeBikeStatus;
import org.mobilitydata.gbfs.v2_3.gbfs.GBFS;
import org.mobilitydata.gbfs.v2_3.gbfs_versions.GBFSVersion;
import org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSGeofencingZones;
import org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSGeofencingZones__1;
import org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSProperties;
import org.mobilitydata.gbfs.v2_3.system_information.GBFSSystemInformation;
import org.mobilitydata.gbfs.v2_3.vehicle_types.GBFSVehicleTypes;
import org.mobilitydata.gbfs.v3_0.gbfs.GBFSGbfs;
import org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSData;
import org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSGbfsVersions;
import org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSFeature;
import org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSRule;
import org.mobilitydata.gbfs.v3_0.station_information.GBFSStation;
import org.mobilitydata.gbfs.v3_0.station_information.GBFSStationInformation;
import org.mobilitydata.gbfs.v3_0.station_status.GBFSStationStatus;
import org.mobilitydata.gbfs.v3_0.system_alerts.GBFSAlert;
import org.mobilitydata.gbfs.v3_0.system_alerts.GBFSSystemAlerts;
import org.mobilitydata.gbfs.v3_0.system_alerts.GBFSTime;
import org.mobilitydata.gbfs.v3_0.system_pricing_plans.GBFSPerKmPricing;
import org.mobilitydata.gbfs.v3_0.system_pricing_plans.GBFSPerMinPricing;
import org.mobilitydata.gbfs.v3_0.system_pricing_plans.GBFSPlan;
import org.mobilitydata.gbfs.v3_0.system_pricing_plans.GBFSSystemPricingPlans;
import org.mobilitydata.gbfs.v3_0.system_regions.GBFSRegion;
import org.mobilitydata.gbfs.v3_0.system_regions.GBFSSystemRegions;
import org.mobilitydata.gbfs.v3_0.vehicle_status.GBFSVehicleStatus;
import org.mobilitydata.gbfs.v3_0.vehicle_types.GBFSVehicleType;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2024-08-26T04:58:57+0000",
    comments = "version: 1.6.0, compiler: javac, environment: Java 17.0.11 (Eclipse Adoptium)"
)
public class GBFSMapperImpl implements GBFSMapper {

    private final DiscoveryFileAdditionalMapper discoveryFileAdditionalMapper = new DiscoveryFileAdditionalMapper();
    private final SystemInformationAdditionalMapper systemInformationAdditionalMapper = Mappers.getMapper( SystemInformationAdditionalMapper.class );
    private final VehicleTypesAdditionalMapper vehicleTypesAdditionalMapper = Mappers.getMapper( VehicleTypesAdditionalMapper.class );
    private final VehicleStatusAdditionalMapper vehicleStatusAdditionalMapper = Mappers.getMapper( VehicleStatusAdditionalMapper.class );
    private final StationInformationAdditionalMapper stationInformationAdditionalMapper = Mappers.getMapper( StationInformationAdditionalMapper.class );
    private final StationStatusAdditionalMapper stationStatusAdditionalMapper = Mappers.getMapper( StationStatusAdditionalMapper.class );
    private final SystemPricingPlansAdditionalMapper systemPricingPlansAdditionalMapper = new SystemPricingPlansAdditionalMapper();
    private final GeofencingZonesAdditionalMapper geofencingZonesAdditionalMapper = Mappers.getMapper( GeofencingZonesAdditionalMapper.class );
    private final SystemRegionsAdditionalMapper systemRegionsAdditionalMapper = new SystemRegionsAdditionalMapper();
    private final SystemAlertsAdditionalMapper systemAlertsAdditionalMapper = new SystemAlertsAdditionalMapper();
    private final DateMapper dateMapper = Mappers.getMapper( DateMapper.class );

    @Override
    public GBFSGbfs map(GBFS source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSGbfs gBFSGbfs = new GBFSGbfs();

        gBFSGbfs.setData( discoveryFileAdditionalMapper.map( source.getFeedsData(), language ) );
        gBFSGbfs.setLastUpdated( dateMapper.mapIntegerToDate( source.getLastUpdated() ) );
        gBFSGbfs.setTtl( source.getTtl() );

        gBFSGbfs.setVersion( "3.0" );

        return gBFSGbfs;
    }

    @Override
    public GBFS map(GBFSGbfs source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFS gBFS = new GBFS();

        gBFS.setFeedsData( discoveryFileAdditionalMapper.map( source.getData(), language ) );
        gBFS.setLastUpdated( dateMapper.mapDateToInteger( source.getLastUpdated() ) );
        gBFS.setTtl( source.getTtl() );

        gBFS.setVersion( "2.3" );

        return gBFS;
    }

    @Override
    public GBFSGbfsVersions map(org.mobilitydata.gbfs.v2_3.gbfs_versions.GBFSGbfsVersions source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSGbfsVersions gBFSGbfsVersions = new GBFSGbfsVersions();

        gBFSGbfsVersions.setLastUpdated( dateMapper.mapIntegerToDate( source.getLastUpdated() ) );
        gBFSGbfsVersions.setTtl( source.getTtl() );
        gBFSGbfsVersions.setData( gBFSDataToGBFSData( source.getData(), language ) );
        if ( gBFSGbfsVersions.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSGbfsVersions.getAdditionalProperties().putAll( map );
            }
        }

        gBFSGbfsVersions.setVersion( "3.0" );

        return gBFSGbfsVersions;
    }

    @Override
    public org.mobilitydata.gbfs.v2_3.gbfs_versions.GBFSGbfsVersions map(GBFSGbfsVersions source, String language) {
        if ( source == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.gbfs_versions.GBFSGbfsVersions gBFSGbfsVersions = new org.mobilitydata.gbfs.v2_3.gbfs_versions.GBFSGbfsVersions();

        gBFSGbfsVersions.setLastUpdated( dateMapper.mapDateToInteger( source.getLastUpdated() ) );
        gBFSGbfsVersions.setTtl( source.getTtl() );
        gBFSGbfsVersions.setData( gBFSDataToGBFSData1( source.getData(), language ) );
        if ( gBFSGbfsVersions.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSGbfsVersions.getAdditionalProperties().putAll( map );
            }
        }

        gBFSGbfsVersions.setVersion( "2.3" );

        return gBFSGbfsVersions;
    }

    @Override
    public org.mobilitydata.gbfs.v3_0.system_information.GBFSSystemInformation map(GBFSSystemInformation source, String language) {
        if ( source == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.system_information.GBFSSystemInformation gBFSSystemInformation = new org.mobilitydata.gbfs.v3_0.system_information.GBFSSystemInformation();

        gBFSSystemInformation.setData( systemInformationAdditionalMapper.mapData( source.getData(), language ) );
        gBFSSystemInformation.setLastUpdated( dateMapper.mapIntegerToDate( source.getLastUpdated() ) );
        gBFSSystemInformation.setTtl( source.getTtl() );
        if ( gBFSSystemInformation.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSSystemInformation.getAdditionalProperties().putAll( map );
            }
        }

        gBFSSystemInformation.setVersion( "3.0" );

        return gBFSSystemInformation;
    }

    @Override
    public GBFSSystemInformation map(org.mobilitydata.gbfs.v3_0.system_information.GBFSSystemInformation source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSSystemInformation gBFSSystemInformation = new GBFSSystemInformation();

        gBFSSystemInformation.setData( systemInformationAdditionalMapper.mapDataInverse( source.getData(), language ) );
        gBFSSystemInformation.setLastUpdated( dateMapper.mapDateToInteger( source.getLastUpdated() ) );
        gBFSSystemInformation.setTtl( source.getTtl() );
        if ( gBFSSystemInformation.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSSystemInformation.getAdditionalProperties().putAll( map );
            }
        }

        gBFSSystemInformation.setVersion( "2.3" );

        return gBFSSystemInformation;
    }

    @Override
    public org.mobilitydata.gbfs.v3_0.vehicle_types.GBFSVehicleTypes map(GBFSVehicleTypes source, String language) {
        if ( source == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.vehicle_types.GBFSVehicleTypes gBFSVehicleTypes = new org.mobilitydata.gbfs.v3_0.vehicle_types.GBFSVehicleTypes();

        gBFSVehicleTypes.setLastUpdated( dateMapper.mapIntegerToDate( source.getLastUpdated() ) );
        gBFSVehicleTypes.setTtl( source.getTtl() );
        gBFSVehicleTypes.setData( gBFSDataToGBFSData2( source.getData(), language ) );
        if ( gBFSVehicleTypes.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSVehicleTypes.getAdditionalProperties().putAll( map );
            }
        }

        gBFSVehicleTypes.setVersion( "3.0" );

        return gBFSVehicleTypes;
    }

    @Override
    public GBFSVehicleTypes map(org.mobilitydata.gbfs.v3_0.vehicle_types.GBFSVehicleTypes source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSVehicleTypes gBFSVehicleTypes = new GBFSVehicleTypes();

        gBFSVehicleTypes.setLastUpdated( dateMapper.mapDateToInteger( source.getLastUpdated() ) );
        gBFSVehicleTypes.setTtl( source.getTtl() );
        gBFSVehicleTypes.setData( gBFSDataToGBFSData3( source.getData(), language ) );
        if ( gBFSVehicleTypes.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSVehicleTypes.getAdditionalProperties().putAll( map );
            }
        }

        gBFSVehicleTypes.setVersion( "2.3" );

        return gBFSVehicleTypes;
    }

    @Override
    public GBFSVehicleStatus map(GBFSFreeBikeStatus source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSVehicleStatus gBFSVehicleStatus = new GBFSVehicleStatus();

        gBFSVehicleStatus.setData( vehicleStatusAdditionalMapper.mapDataInverse( source.getData() ) );
        gBFSVehicleStatus.setLastUpdated( dateMapper.mapIntegerToDate( source.getLastUpdated() ) );
        gBFSVehicleStatus.setTtl( source.getTtl() );
        if ( gBFSVehicleStatus.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSVehicleStatus.getAdditionalProperties().putAll( map );
            }
        }

        gBFSVehicleStatus.setVersion( "3.0" );

        return gBFSVehicleStatus;
    }

    @Override
    public GBFSFreeBikeStatus map(GBFSVehicleStatus source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSFreeBikeStatus gBFSFreeBikeStatus = new GBFSFreeBikeStatus();

        gBFSFreeBikeStatus.setData( vehicleStatusAdditionalMapper.mapData( source.getData() ) );
        gBFSFreeBikeStatus.setLastUpdated( dateMapper.mapDateToInteger( source.getLastUpdated() ) );
        gBFSFreeBikeStatus.setTtl( source.getTtl() );
        if ( gBFSFreeBikeStatus.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSFreeBikeStatus.getAdditionalProperties().putAll( map );
            }
        }

        gBFSFreeBikeStatus.setVersion( "2.3" );

        return gBFSFreeBikeStatus;
    }

    @Override
    public GBFSStationInformation map(org.mobilitydata.gbfs.v2_3.station_information.GBFSStationInformation source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSStationInformation gBFSStationInformation = new GBFSStationInformation();

        gBFSStationInformation.setLastUpdated( dateMapper.mapIntegerToDate( source.getLastUpdated() ) );
        gBFSStationInformation.setTtl( source.getTtl() );
        gBFSStationInformation.setData( gBFSDataToGBFSData4( source.getData(), language ) );
        if ( gBFSStationInformation.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSStationInformation.getAdditionalProperties().putAll( map );
            }
        }

        gBFSStationInformation.setVersion( "3.0" );

        return gBFSStationInformation;
    }

    @Override
    public org.mobilitydata.gbfs.v2_3.station_information.GBFSStationInformation map(GBFSStationInformation source, String language) {
        if ( source == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.station_information.GBFSStationInformation gBFSStationInformation = new org.mobilitydata.gbfs.v2_3.station_information.GBFSStationInformation();

        gBFSStationInformation.setLastUpdated( dateMapper.mapDateToInteger( source.getLastUpdated() ) );
        gBFSStationInformation.setTtl( source.getTtl() );
        gBFSStationInformation.setData( gBFSDataToGBFSData5( source.getData(), language ) );
        if ( gBFSStationInformation.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSStationInformation.getAdditionalProperties().putAll( map );
            }
        }

        gBFSStationInformation.setVersion( "2.3" );

        return gBFSStationInformation;
    }

    @Override
    public GBFSStationStatus map(org.mobilitydata.gbfs.v2_3.station_status.GBFSStationStatus source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSStationStatus gBFSStationStatus = new GBFSStationStatus();

        gBFSStationStatus.setLastUpdated( dateMapper.mapIntegerToDate( source.getLastUpdated() ) );
        gBFSStationStatus.setTtl( source.getTtl() );
        gBFSStationStatus.setData( gBFSDataToGBFSData6( source.getData(), language ) );
        if ( gBFSStationStatus.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSStationStatus.getAdditionalProperties().putAll( map );
            }
        }

        gBFSStationStatus.setVersion( "3.0" );

        return gBFSStationStatus;
    }

    @Override
    public org.mobilitydata.gbfs.v2_3.station_status.GBFSStationStatus map(GBFSStationStatus source, String language) {
        if ( source == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.station_status.GBFSStationStatus gBFSStationStatus = new org.mobilitydata.gbfs.v2_3.station_status.GBFSStationStatus();

        gBFSStationStatus.setLastUpdated( dateMapper.mapDateToInteger( source.getLastUpdated() ) );
        gBFSStationStatus.setTtl( source.getTtl() );
        gBFSStationStatus.setData( gBFSDataToGBFSData7( source.getData(), language ) );
        if ( gBFSStationStatus.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSStationStatus.getAdditionalProperties().putAll( map );
            }
        }

        gBFSStationStatus.setVersion( "2.3" );

        return gBFSStationStatus;
    }

    @Override
    public GBFSSystemPricingPlans map(org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSSystemPricingPlans source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSSystemPricingPlans gBFSSystemPricingPlans = new GBFSSystemPricingPlans();

        gBFSSystemPricingPlans.setLastUpdated( dateMapper.mapIntegerToDate( source.getLastUpdated() ) );
        gBFSSystemPricingPlans.setTtl( source.getTtl() );
        gBFSSystemPricingPlans.setData( gBFSDataToGBFSData8( source.getData(), language ) );
        if ( gBFSSystemPricingPlans.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSSystemPricingPlans.getAdditionalProperties().putAll( map );
            }
        }

        gBFSSystemPricingPlans.setVersion( "3.0" );

        return gBFSSystemPricingPlans;
    }

    @Override
    public org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSSystemPricingPlans map(GBFSSystemPricingPlans source, String language) {
        if ( source == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSSystemPricingPlans gBFSSystemPricingPlans = new org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSSystemPricingPlans();

        gBFSSystemPricingPlans.setLastUpdated( dateMapper.mapDateToInteger( source.getLastUpdated() ) );
        gBFSSystemPricingPlans.setTtl( source.getTtl() );
        gBFSSystemPricingPlans.setData( gBFSDataToGBFSData9( source.getData(), language ) );
        if ( gBFSSystemPricingPlans.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSSystemPricingPlans.getAdditionalProperties().putAll( map );
            }
        }

        gBFSSystemPricingPlans.setVersion( "2.3" );

        return gBFSSystemPricingPlans;
    }

    @Override
    public org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones map(GBFSGeofencingZones source, String language) {
        if ( source == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones gBFSGeofencingZones = new org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones();

        gBFSGeofencingZones.setLastUpdated( dateMapper.mapIntegerToDate( source.getLastUpdated() ) );
        gBFSGeofencingZones.setTtl( source.getTtl() );
        gBFSGeofencingZones.setData( gBFSDataToGBFSData10( source.getData(), language ) );
        if ( gBFSGeofencingZones.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSGeofencingZones.getAdditionalProperties().putAll( map );
            }
        }

        gBFSGeofencingZones.setVersion( "3.0" );

        return gBFSGeofencingZones;
    }

    @Override
    public GBFSGeofencingZones map(org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSGeofencingZones gBFSGeofencingZones = new GBFSGeofencingZones();

        gBFSGeofencingZones.setLastUpdated( dateMapper.mapDateToInteger( source.getLastUpdated() ) );
        gBFSGeofencingZones.setTtl( source.getTtl() );
        gBFSGeofencingZones.setData( gBFSDataToGBFSData11( source.getData(), language ) );
        if ( gBFSGeofencingZones.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSGeofencingZones.getAdditionalProperties().putAll( map );
            }
        }

        gBFSGeofencingZones.setVersion( "2.3" );

        return gBFSGeofencingZones;
    }

    @Override
    public GBFSSystemRegions map(org.mobilitydata.gbfs.v2_3.system_regions.GBFSSystemRegions source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSSystemRegions gBFSSystemRegions = new GBFSSystemRegions();

        gBFSSystemRegions.setLastUpdated( dateMapper.mapIntegerToDate( source.getLastUpdated() ) );
        gBFSSystemRegions.setTtl( source.getTtl() );
        gBFSSystemRegions.setData( gBFSDataToGBFSData12( source.getData(), language ) );
        if ( gBFSSystemRegions.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSSystemRegions.getAdditionalProperties().putAll( map );
            }
        }

        gBFSSystemRegions.setVersion( "3.0" );

        return gBFSSystemRegions;
    }

    @Override
    public org.mobilitydata.gbfs.v2_3.system_regions.GBFSSystemRegions map(GBFSSystemRegions source, String language) {
        if ( source == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_regions.GBFSSystemRegions gBFSSystemRegions = new org.mobilitydata.gbfs.v2_3.system_regions.GBFSSystemRegions();

        gBFSSystemRegions.setLastUpdated( dateMapper.mapDateToInteger( source.getLastUpdated() ) );
        gBFSSystemRegions.setTtl( source.getTtl() );
        gBFSSystemRegions.setData( gBFSDataToGBFSData13( source.getData(), language ) );
        if ( gBFSSystemRegions.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSSystemRegions.getAdditionalProperties().putAll( map );
            }
        }

        gBFSSystemRegions.setVersion( "2.3" );

        return gBFSSystemRegions;
    }

    @Override
    public GBFSSystemAlerts map(org.mobilitydata.gbfs.v2_3.system_alerts.GBFSSystemAlerts source, String language) {
        if ( source == null ) {
            return null;
        }

        GBFSSystemAlerts gBFSSystemAlerts = new GBFSSystemAlerts();

        gBFSSystemAlerts.setLastUpdated( dateMapper.mapIntegerToDate( source.getLastUpdated() ) );
        gBFSSystemAlerts.setTtl( source.getTtl() );
        gBFSSystemAlerts.setData( gBFSDataToGBFSData14( source.getData(), language ) );
        if ( gBFSSystemAlerts.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSSystemAlerts.getAdditionalProperties().putAll( map );
            }
        }

        gBFSSystemAlerts.setVersion( "3.0" );

        return gBFSSystemAlerts;
    }

    @Override
    public org.mobilitydata.gbfs.v2_3.system_alerts.GBFSSystemAlerts map(GBFSSystemAlerts source, String language) {
        if ( source == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_alerts.GBFSSystemAlerts gBFSSystemAlerts = new org.mobilitydata.gbfs.v2_3.system_alerts.GBFSSystemAlerts();

        gBFSSystemAlerts.setLastUpdated( dateMapper.mapDateToInteger( source.getLastUpdated() ) );
        gBFSSystemAlerts.setTtl( source.getTtl() );
        gBFSSystemAlerts.setData( gBFSDataToGBFSData15( source.getData(), language ) );
        if ( gBFSSystemAlerts.getAdditionalProperties() != null ) {
            Map map = source.getAdditionalProperties();
            if ( map != null ) {
                gBFSSystemAlerts.getAdditionalProperties().putAll( map );
            }
        }

        gBFSSystemAlerts.setVersion( "2.3" );

        return gBFSSystemAlerts;
    }

    protected org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion.Version versionToVersion(GBFSVersion.Version version, String language) {
        if ( version == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion.Version version1;

        switch ( version ) {
            case _1_0: version1 = org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion.Version._1_0;
            break;
            case _1_1: version1 = org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion.Version._1_1;
            break;
            case _2_0: version1 = org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion.Version._2_0;
            break;
            case _2_1: version1 = org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion.Version._2_1;
            break;
            case _2_2: version1 = org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion.Version._2_2;
            break;
            case _2_3: version1 = org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion.Version._2_3;
            break;
            case _3_0: version1 = org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion.Version._3_0;
            break;
            default: throw new IllegalArgumentException( "Unexpected enum constant: " + version );
        }

        return version1;
    }

    protected org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion gBFSVersionToGBFSVersion(GBFSVersion gBFSVersion, String language) {
        if ( gBFSVersion == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion gBFSVersion1 = new org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion();

        gBFSVersion1.setVersion( versionToVersion( gBFSVersion.getVersion(), language ) );
        gBFSVersion1.setUrl( gBFSVersion.getUrl() );
        if ( gBFSVersion1.getAdditionalProperties() != null ) {
            Map map = gBFSVersion.getAdditionalProperties();
            if ( map != null ) {
                gBFSVersion1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSVersion1;
    }

    protected List gBFSVersionListToGBFSVersionList(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( GBFSVersion gBFSVersion : list ) {
            list1.add( gBFSVersionToGBFSVersion( gBFSVersion, language ) );
        }

        return list1;
    }

    protected GBFSData gBFSDataToGBFSData(org.mobilitydata.gbfs.v2_3.gbfs_versions.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        GBFSData gBFSData1 = new GBFSData();

        gBFSData1.setVersions( gBFSVersionListToGBFSVersionList( gBFSData.getVersions(), language ) );

        return gBFSData1;
    }

    protected GBFSVersion.Version versionToVersion1(org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion.Version version, String language) {
        if ( version == null ) {
            return null;
        }

        GBFSVersion.Version version1;

        switch ( version ) {
            case _1_0: version1 = GBFSVersion.Version._1_0;
            break;
            case _1_1: version1 = GBFSVersion.Version._1_1;
            break;
            case _2_0: version1 = GBFSVersion.Version._2_0;
            break;
            case _2_1: version1 = GBFSVersion.Version._2_1;
            break;
            case _2_2: version1 = GBFSVersion.Version._2_2;
            break;
            case _2_3: version1 = GBFSVersion.Version._2_3;
            break;
            case _3_0: version1 = GBFSVersion.Version._3_0;
            break;
            default: throw new IllegalArgumentException( "Unexpected enum constant: " + version );
        }

        return version1;
    }

    protected GBFSVersion gBFSVersionToGBFSVersion1(org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion gBFSVersion, String language) {
        if ( gBFSVersion == null ) {
            return null;
        }

        GBFSVersion gBFSVersion1 = new GBFSVersion();

        gBFSVersion1.setVersion( versionToVersion1( gBFSVersion.getVersion(), language ) );
        gBFSVersion1.setUrl( gBFSVersion.getUrl() );
        if ( gBFSVersion1.getAdditionalProperties() != null ) {
            Map map = gBFSVersion.getAdditionalProperties();
            if ( map != null ) {
                gBFSVersion1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSVersion1;
    }

    protected List gBFSVersionListToGBFSVersionList1(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v3_0.gbfs_versions.GBFSVersion gBFSVersion : list ) {
            list1.add( gBFSVersionToGBFSVersion1( gBFSVersion, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v2_3.gbfs_versions.GBFSData gBFSDataToGBFSData1(GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.gbfs_versions.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v2_3.gbfs_versions.GBFSData();

        gBFSData1.setVersions( gBFSVersionListToGBFSVersionList1( gBFSData.getVersions(), language ) );

        return gBFSData1;
    }

    protected List gBFSVehicleTypeListToGBFSVehicleTypeList(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v2_3.vehicle_types.GBFSVehicleType gBFSVehicleType : list ) {
            list1.add( vehicleTypesAdditionalMapper.mapVehicleType( gBFSVehicleType, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v3_0.vehicle_types.GBFSData gBFSDataToGBFSData2(org.mobilitydata.gbfs.v2_3.vehicle_types.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.vehicle_types.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v3_0.vehicle_types.GBFSData();

        gBFSData1.setVehicleTypes( gBFSVehicleTypeListToGBFSVehicleTypeList( gBFSData.getVehicleTypes(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected List gBFSVehicleTypeListToGBFSVehicleTypeList1(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( GBFSVehicleType gBFSVehicleType : list ) {
            list1.add( vehicleTypesAdditionalMapper.mapVehicleTypeInverse( gBFSVehicleType, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v2_3.vehicle_types.GBFSData gBFSDataToGBFSData3(org.mobilitydata.gbfs.v3_0.vehicle_types.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.vehicle_types.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v2_3.vehicle_types.GBFSData();

        gBFSData1.setVehicleTypes( gBFSVehicleTypeListToGBFSVehicleTypeList1( gBFSData.getVehicleTypes(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected List gBFSStationListToGBFSStationList(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v2_3.station_information.GBFSStation gBFSStation : list ) {
            list1.add( stationInformationAdditionalMapper.mapStation( gBFSStation, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v3_0.station_information.GBFSData gBFSDataToGBFSData4(org.mobilitydata.gbfs.v2_3.station_information.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.station_information.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v3_0.station_information.GBFSData();

        gBFSData1.setStations( gBFSStationListToGBFSStationList( gBFSData.getStations(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected List gBFSStationListToGBFSStationList1(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( GBFSStation gBFSStation : list ) {
            list1.add( stationInformationAdditionalMapper.mapStationInverse( gBFSStation, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v2_3.station_information.GBFSData gBFSDataToGBFSData5(org.mobilitydata.gbfs.v3_0.station_information.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.station_information.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v2_3.station_information.GBFSData();

        gBFSData1.setStations( gBFSStationListToGBFSStationList1( gBFSData.getStations(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected List gBFSStationListToGBFSStationList2(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v2_3.station_status.GBFSStation gBFSStation : list ) {
            list1.add( stationStatusAdditionalMapper.mapStation( gBFSStation ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v3_0.station_status.GBFSData gBFSDataToGBFSData6(org.mobilitydata.gbfs.v2_3.station_status.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.station_status.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v3_0.station_status.GBFSData();

        gBFSData1.setStations( gBFSStationListToGBFSStationList2( gBFSData.getStations(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected List gBFSStationListToGBFSStationList3(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v3_0.station_status.GBFSStation gBFSStation : list ) {
            list1.add( stationStatusAdditionalMapper.mapStationInverse( gBFSStation ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v2_3.station_status.GBFSData gBFSDataToGBFSData7(org.mobilitydata.gbfs.v3_0.station_status.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.station_status.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v2_3.station_status.GBFSData();

        gBFSData1.setStations( gBFSStationListToGBFSStationList3( gBFSData.getStations(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected GBFSPerKmPricing gBFSPerKmPricingToGBFSPerKmPricing(org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPerKmPricing gBFSPerKmPricing, String language) {
        if ( gBFSPerKmPricing == null ) {
            return null;
        }

        GBFSPerKmPricing gBFSPerKmPricing1 = new GBFSPerKmPricing();

        gBFSPerKmPricing1.setStart( gBFSPerKmPricing.getStart() );
        gBFSPerKmPricing1.setRate( gBFSPerKmPricing.getRate() );
        gBFSPerKmPricing1.setInterval( gBFSPerKmPricing.getInterval() );
        gBFSPerKmPricing1.setEnd( gBFSPerKmPricing.getEnd() );
        if ( gBFSPerKmPricing1.getAdditionalProperties() != null ) {
            Map map = gBFSPerKmPricing.getAdditionalProperties();
            if ( map != null ) {
                gBFSPerKmPricing1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSPerKmPricing1;
    }

    protected List gBFSPerKmPricingListToGBFSPerKmPricingList(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPerKmPricing gBFSPerKmPricing : list ) {
            list1.add( gBFSPerKmPricingToGBFSPerKmPricing( gBFSPerKmPricing, language ) );
        }

        return list1;
    }

    protected GBFSPerMinPricing gBFSPerMinPricingToGBFSPerMinPricing(org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPerMinPricing gBFSPerMinPricing, String language) {
        if ( gBFSPerMinPricing == null ) {
            return null;
        }

        GBFSPerMinPricing gBFSPerMinPricing1 = new GBFSPerMinPricing();

        gBFSPerMinPricing1.setStart( gBFSPerMinPricing.getStart() );
        gBFSPerMinPricing1.setRate( gBFSPerMinPricing.getRate() );
        gBFSPerMinPricing1.setInterval( gBFSPerMinPricing.getInterval() );
        gBFSPerMinPricing1.setEnd( gBFSPerMinPricing.getEnd() );
        if ( gBFSPerMinPricing1.getAdditionalProperties() != null ) {
            Map map = gBFSPerMinPricing.getAdditionalProperties();
            if ( map != null ) {
                gBFSPerMinPricing1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSPerMinPricing1;
    }

    protected List gBFSPerMinPricingListToGBFSPerMinPricingList(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPerMinPricing gBFSPerMinPricing : list ) {
            list1.add( gBFSPerMinPricingToGBFSPerMinPricing( gBFSPerMinPricing, language ) );
        }

        return list1;
    }

    protected GBFSPlan gBFSPlanToGBFSPlan(org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPlan gBFSPlan, String language) {
        if ( gBFSPlan == null ) {
            return null;
        }

        GBFSPlan gBFSPlan1 = new GBFSPlan();

        gBFSPlan1.setPlanId( gBFSPlan.getPlanId() );
        gBFSPlan1.setUrl( gBFSPlan.getUrl() );
        gBFSPlan1.setName( systemPricingPlansAdditionalMapper.mapName( gBFSPlan.getName(), language ) );
        gBFSPlan1.setCurrency( gBFSPlan.getCurrency() );
        gBFSPlan1.setPrice( gBFSPlan.getPrice() );
        gBFSPlan1.setIsTaxable( gBFSPlan.getIsTaxable() );
        gBFSPlan1.setDescription( systemPricingPlansAdditionalMapper.mapDescription( gBFSPlan.getDescription(), language ) );
        gBFSPlan1.setPerKmPricing( gBFSPerKmPricingListToGBFSPerKmPricingList( gBFSPlan.getPerKmPricing(), language ) );
        gBFSPlan1.setPerMinPricing( gBFSPerMinPricingListToGBFSPerMinPricingList( gBFSPlan.getPerMinPricing(), language ) );
        gBFSPlan1.setSurgePricing( gBFSPlan.getSurgePricing() );
        if ( gBFSPlan1.getAdditionalProperties() != null ) {
            Map map = gBFSPlan.getAdditionalProperties();
            if ( map != null ) {
                gBFSPlan1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSPlan1;
    }

    protected List gBFSPlanListToGBFSPlanList(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPlan gBFSPlan : list ) {
            list1.add( gBFSPlanToGBFSPlan( gBFSPlan, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v3_0.system_pricing_plans.GBFSData gBFSDataToGBFSData8(org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.system_pricing_plans.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v3_0.system_pricing_plans.GBFSData();

        gBFSData1.setPlans( gBFSPlanListToGBFSPlanList( gBFSData.getPlans(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPerKmPricing gBFSPerKmPricingToGBFSPerKmPricing1(GBFSPerKmPricing gBFSPerKmPricing, String language) {
        if ( gBFSPerKmPricing == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPerKmPricing gBFSPerKmPricing1 = new org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPerKmPricing();

        gBFSPerKmPricing1.setStart( gBFSPerKmPricing.getStart() );
        gBFSPerKmPricing1.setRate( gBFSPerKmPricing.getRate() );
        gBFSPerKmPricing1.setInterval( gBFSPerKmPricing.getInterval() );
        gBFSPerKmPricing1.setEnd( gBFSPerKmPricing.getEnd() );
        if ( gBFSPerKmPricing1.getAdditionalProperties() != null ) {
            Map map = gBFSPerKmPricing.getAdditionalProperties();
            if ( map != null ) {
                gBFSPerKmPricing1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSPerKmPricing1;
    }

    protected List gBFSPerKmPricingListToGBFSPerKmPricingList1(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( GBFSPerKmPricing gBFSPerKmPricing : list ) {
            list1.add( gBFSPerKmPricingToGBFSPerKmPricing1( gBFSPerKmPricing, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPerMinPricing gBFSPerMinPricingToGBFSPerMinPricing1(GBFSPerMinPricing gBFSPerMinPricing, String language) {
        if ( gBFSPerMinPricing == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPerMinPricing gBFSPerMinPricing1 = new org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPerMinPricing();

        gBFSPerMinPricing1.setStart( gBFSPerMinPricing.getStart() );
        gBFSPerMinPricing1.setRate( gBFSPerMinPricing.getRate() );
        gBFSPerMinPricing1.setInterval( gBFSPerMinPricing.getInterval() );
        gBFSPerMinPricing1.setEnd( gBFSPerMinPricing.getEnd() );
        if ( gBFSPerMinPricing1.getAdditionalProperties() != null ) {
            Map map = gBFSPerMinPricing.getAdditionalProperties();
            if ( map != null ) {
                gBFSPerMinPricing1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSPerMinPricing1;
    }

    protected List gBFSPerMinPricingListToGBFSPerMinPricingList1(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( GBFSPerMinPricing gBFSPerMinPricing : list ) {
            list1.add( gBFSPerMinPricingToGBFSPerMinPricing1( gBFSPerMinPricing, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPlan gBFSPlanToGBFSPlan1(GBFSPlan gBFSPlan, String language) {
        if ( gBFSPlan == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPlan gBFSPlan1 = new org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSPlan();

        gBFSPlan1.setPlanId( gBFSPlan.getPlanId() );
        gBFSPlan1.setUrl( gBFSPlan.getUrl() );
        gBFSPlan1.setName( systemPricingPlansAdditionalMapper.mapNameInverse( gBFSPlan.getName(), language ) );
        gBFSPlan1.setCurrency( gBFSPlan.getCurrency() );
        gBFSPlan1.setPrice( gBFSPlan.getPrice() );
        gBFSPlan1.setIsTaxable( gBFSPlan.getIsTaxable() );
        gBFSPlan1.setDescription( systemPricingPlansAdditionalMapper.mapDescriptionInverse( gBFSPlan.getDescription(), language ) );
        gBFSPlan1.setPerKmPricing( gBFSPerKmPricingListToGBFSPerKmPricingList1( gBFSPlan.getPerKmPricing(), language ) );
        gBFSPlan1.setPerMinPricing( gBFSPerMinPricingListToGBFSPerMinPricingList1( gBFSPlan.getPerMinPricing(), language ) );
        gBFSPlan1.setSurgePricing( gBFSPlan.getSurgePricing() );
        if ( gBFSPlan1.getAdditionalProperties() != null ) {
            Map map = gBFSPlan.getAdditionalProperties();
            if ( map != null ) {
                gBFSPlan1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSPlan1;
    }

    protected List gBFSPlanListToGBFSPlanList1(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( GBFSPlan gBFSPlan : list ) {
            list1.add( gBFSPlanToGBFSPlan1( gBFSPlan, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSData gBFSDataToGBFSData9(org.mobilitydata.gbfs.v3_0.system_pricing_plans.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v2_3.system_pricing_plans.GBFSData();

        gBFSData1.setPlans( gBFSPlanListToGBFSPlanList1( gBFSData.getPlans(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones__1.Type typeToType(GBFSGeofencingZones__1.Type type, String language) {
        if ( type == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones__1.Type type1;

        switch ( type ) {
            case FEATURE_COLLECTION: type1 = org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones__1.Type.FEATURE_COLLECTION;
            break;
            default: throw new IllegalArgumentException( "Unexpected enum constant: " + type );
        }

        return type1;
    }

    protected GBFSFeature.Type typeToType1(org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSFeature.Type type, String language) {
        if ( type == null ) {
            return null;
        }

        GBFSFeature.Type type1;

        switch ( type ) {
            case FEATURE: type1 = GBFSFeature.Type.FEATURE;
            break;
            default: throw new IllegalArgumentException( "Unexpected enum constant: " + type );
        }

        return type1;
    }

    protected List gBFSRuleListToGBFSRuleList(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSRule gBFSRule : list ) {
            list1.add( geofencingZonesAdditionalMapper.mapRule( gBFSRule ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSProperties gBFSPropertiesToGBFSProperties(GBFSProperties gBFSProperties, String language) {
        if ( gBFSProperties == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSProperties gBFSProperties1 = new org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSProperties();

        gBFSProperties1.setName( geofencingZonesAdditionalMapper.mapName( gBFSProperties.getName(), language ) );
        gBFSProperties1.setStart( dateMapper.mapIntegerToDate( gBFSProperties.getStart() ) );
        gBFSProperties1.setEnd( dateMapper.mapIntegerToDate( gBFSProperties.getEnd() ) );
        gBFSProperties1.setRules( gBFSRuleListToGBFSRuleList( gBFSProperties.getRules(), language ) );
        if ( gBFSProperties1.getAdditionalProperties() != null ) {
            Map map = gBFSProperties.getAdditionalProperties();
            if ( map != null ) {
                gBFSProperties1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSProperties1;
    }

    protected GBFSFeature gBFSFeatureToGBFSFeature(org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSFeature gBFSFeature, String language) {
        if ( gBFSFeature == null ) {
            return null;
        }

        GBFSFeature gBFSFeature1 = new GBFSFeature();

        gBFSFeature1.setType( typeToType1( gBFSFeature.getType(), language ) );
        gBFSFeature1.setProperties( gBFSPropertiesToGBFSProperties( gBFSFeature.getProperties(), language ) );
        gBFSFeature1.setGeometry( gBFSFeature.getGeometry() );
        if ( gBFSFeature1.getAdditionalProperties() != null ) {
            Map map = gBFSFeature.getAdditionalProperties();
            if ( map != null ) {
                gBFSFeature1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSFeature1;
    }

    protected List gBFSFeatureListToGBFSFeatureList(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSFeature gBFSFeature : list ) {
            list1.add( gBFSFeatureToGBFSFeature( gBFSFeature, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones__1 gBFSGeofencingZones__1ToGBFSGeofencingZones__1(GBFSGeofencingZones__1 gBFSGeofencingZones__1, String language) {
        if ( gBFSGeofencingZones__1 == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones__1 gBFSGeofencingZones__1_1 = new org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones__1();

        gBFSGeofencingZones__1_1.setType( typeToType( gBFSGeofencingZones__1.getType(), language ) );
        gBFSGeofencingZones__1_1.setFeatures( gBFSFeatureListToGBFSFeatureList( gBFSGeofencingZones__1.getFeatures(), language ) );
        if ( gBFSGeofencingZones__1_1.getAdditionalProperties() != null ) {
            Map map = gBFSGeofencingZones__1.getAdditionalProperties();
            if ( map != null ) {
                gBFSGeofencingZones__1_1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSGeofencingZones__1_1;
    }

    protected org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSData gBFSDataToGBFSData10(org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSData();

        gBFSData1.setGeofencingZones( gBFSGeofencingZones__1ToGBFSGeofencingZones__1( gBFSData.getGeofencingZones(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected GBFSGeofencingZones__1.Type typeToType2(org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones__1.Type type, String language) {
        if ( type == null ) {
            return null;
        }

        GBFSGeofencingZones__1.Type type1;

        switch ( type ) {
            case FEATURE_COLLECTION: type1 = GBFSGeofencingZones__1.Type.FEATURE_COLLECTION;
            break;
            default: throw new IllegalArgumentException( "Unexpected enum constant: " + type );
        }

        return type1;
    }

    protected org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSFeature.Type typeToType3(GBFSFeature.Type type, String language) {
        if ( type == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSFeature.Type type1;

        switch ( type ) {
            case FEATURE: type1 = org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSFeature.Type.FEATURE;
            break;
            default: throw new IllegalArgumentException( "Unexpected enum constant: " + type );
        }

        return type1;
    }

    protected List gBFSRuleListToGBFSRuleList1(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( GBFSRule gBFSRule : list ) {
            list1.add( geofencingZonesAdditionalMapper.mapRuleInverse( gBFSRule ) );
        }

        return list1;
    }

    protected GBFSProperties gBFSPropertiesToGBFSProperties1(org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSProperties gBFSProperties, String language) {
        if ( gBFSProperties == null ) {
            return null;
        }

        GBFSProperties gBFSProperties1 = new GBFSProperties();

        gBFSProperties1.setName( geofencingZonesAdditionalMapper.mapNameInverse( gBFSProperties.getName(), language ) );
        gBFSProperties1.setStart( dateMapper.mapDateToInteger( gBFSProperties.getStart() ) );
        gBFSProperties1.setEnd( dateMapper.mapDateToInteger( gBFSProperties.getEnd() ) );
        gBFSProperties1.setRules( gBFSRuleListToGBFSRuleList1( gBFSProperties.getRules(), language ) );
        if ( gBFSProperties1.getAdditionalProperties() != null ) {
            Map map = gBFSProperties.getAdditionalProperties();
            if ( map != null ) {
                gBFSProperties1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSProperties1;
    }

    protected org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSFeature gBFSFeatureToGBFSFeature1(GBFSFeature gBFSFeature, String language) {
        if ( gBFSFeature == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSFeature gBFSFeature1 = new org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSFeature();

        gBFSFeature1.setType( typeToType3( gBFSFeature.getType(), language ) );
        gBFSFeature1.setProperties( gBFSPropertiesToGBFSProperties1( gBFSFeature.getProperties(), language ) );
        gBFSFeature1.setGeometry( gBFSFeature.getGeometry() );
        if ( gBFSFeature1.getAdditionalProperties() != null ) {
            Map map = gBFSFeature.getAdditionalProperties();
            if ( map != null ) {
                gBFSFeature1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSFeature1;
    }

    protected List gBFSFeatureListToGBFSFeatureList1(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( GBFSFeature gBFSFeature : list ) {
            list1.add( gBFSFeatureToGBFSFeature1( gBFSFeature, language ) );
        }

        return list1;
    }

    protected GBFSGeofencingZones__1 gBFSGeofencingZones__1ToGBFSGeofencingZones__1_1(org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSGeofencingZones__1 gBFSGeofencingZones__1, String language) {
        if ( gBFSGeofencingZones__1 == null ) {
            return null;
        }

        GBFSGeofencingZones__1 gBFSGeofencingZones__1_1 = new GBFSGeofencingZones__1();

        gBFSGeofencingZones__1_1.setType( typeToType2( gBFSGeofencingZones__1.getType(), language ) );
        gBFSGeofencingZones__1_1.setFeatures( gBFSFeatureListToGBFSFeatureList1( gBFSGeofencingZones__1.getFeatures(), language ) );
        if ( gBFSGeofencingZones__1_1.getAdditionalProperties() != null ) {
            Map map = gBFSGeofencingZones__1.getAdditionalProperties();
            if ( map != null ) {
                gBFSGeofencingZones__1_1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSGeofencingZones__1_1;
    }

    protected org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSData gBFSDataToGBFSData11(org.mobilitydata.gbfs.v3_0.geofencing_zones.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v2_3.geofencing_zones.GBFSData();

        gBFSData1.setGeofencingZones( gBFSGeofencingZones__1ToGBFSGeofencingZones__1_1( gBFSData.getGeofencingZones(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected GBFSRegion gBFSRegionToGBFSRegion(org.mobilitydata.gbfs.v2_3.system_regions.GBFSRegion gBFSRegion, String language) {
        if ( gBFSRegion == null ) {
            return null;
        }

        GBFSRegion gBFSRegion1 = new GBFSRegion();

        gBFSRegion1.setRegionId( gBFSRegion.getRegionId() );
        gBFSRegion1.setName( systemRegionsAdditionalMapper.mapName( gBFSRegion.getName(), language ) );
        if ( gBFSRegion1.getAdditionalProperties() != null ) {
            Map map = gBFSRegion.getAdditionalProperties();
            if ( map != null ) {
                gBFSRegion1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSRegion1;
    }

    protected List gBFSRegionListToGBFSRegionList(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v2_3.system_regions.GBFSRegion gBFSRegion : list ) {
            list1.add( gBFSRegionToGBFSRegion( gBFSRegion, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v3_0.system_regions.GBFSData gBFSDataToGBFSData12(org.mobilitydata.gbfs.v2_3.system_regions.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.system_regions.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v3_0.system_regions.GBFSData();

        gBFSData1.setRegions( gBFSRegionListToGBFSRegionList( gBFSData.getRegions(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected org.mobilitydata.gbfs.v2_3.system_regions.GBFSRegion gBFSRegionToGBFSRegion1(GBFSRegion gBFSRegion, String language) {
        if ( gBFSRegion == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_regions.GBFSRegion gBFSRegion1 = new org.mobilitydata.gbfs.v2_3.system_regions.GBFSRegion();

        gBFSRegion1.setRegionId( gBFSRegion.getRegionId() );
        gBFSRegion1.setName( systemRegionsAdditionalMapper.mapNameInverse( gBFSRegion.getName(), language ) );
        if ( gBFSRegion1.getAdditionalProperties() != null ) {
            Map map = gBFSRegion.getAdditionalProperties();
            if ( map != null ) {
                gBFSRegion1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSRegion1;
    }

    protected List gBFSRegionListToGBFSRegionList1(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( GBFSRegion gBFSRegion : list ) {
            list1.add( gBFSRegionToGBFSRegion1( gBFSRegion, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v2_3.system_regions.GBFSData gBFSDataToGBFSData13(org.mobilitydata.gbfs.v3_0.system_regions.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_regions.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v2_3.system_regions.GBFSData();

        gBFSData1.setRegions( gBFSRegionListToGBFSRegionList1( gBFSData.getRegions(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected GBFSAlert.Type typeToType4(org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert.Type type, String language) {
        if ( type == null ) {
            return null;
        }

        GBFSAlert.Type type1;

        switch ( type ) {
            case SYSTEM_CLOSURE: type1 = GBFSAlert.Type.SYSTEM_CLOSURE;
            break;
            case STATION_CLOSURE: type1 = GBFSAlert.Type.STATION_CLOSURE;
            break;
            case STATION_MOVE: type1 = GBFSAlert.Type.STATION_MOVE;
            break;
            case OTHER: type1 = GBFSAlert.Type.OTHER;
            break;
            default: throw new IllegalArgumentException( "Unexpected enum constant: " + type );
        }

        return type1;
    }

    protected GBFSTime gBFSTimeToGBFSTime(org.mobilitydata.gbfs.v2_3.system_alerts.GBFSTime gBFSTime, String language) {
        if ( gBFSTime == null ) {
            return null;
        }

        GBFSTime gBFSTime1 = new GBFSTime();

        gBFSTime1.setStart( dateMapper.mapIntegerToDate( gBFSTime.getStart() ) );
        gBFSTime1.setEnd( dateMapper.mapIntegerToDate( gBFSTime.getEnd() ) );
        if ( gBFSTime1.getAdditionalProperties() != null ) {
            Map map = gBFSTime.getAdditionalProperties();
            if ( map != null ) {
                gBFSTime1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSTime1;
    }

    protected List gBFSTimeListToGBFSTimeList(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v2_3.system_alerts.GBFSTime gBFSTime : list ) {
            list1.add( gBFSTimeToGBFSTime( gBFSTime, language ) );
        }

        return list1;
    }

    protected GBFSAlert gBFSAlertToGBFSAlert(org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert gBFSAlert, String language) {
        if ( gBFSAlert == null ) {
            return null;
        }

        GBFSAlert gBFSAlert1 = new GBFSAlert();

        gBFSAlert1.setAlertId( gBFSAlert.getAlertId() );
        gBFSAlert1.setType( typeToType4( gBFSAlert.getType(), language ) );
        gBFSAlert1.setTimes( gBFSTimeListToGBFSTimeList( gBFSAlert.getTimes(), language ) );
        List list1 = gBFSAlert.getStationIds();
        if ( list1 != null ) {
            gBFSAlert1.setStationIds( new ArrayList( list1 ) );
        }
        List list2 = gBFSAlert.getRegionIds();
        if ( list2 != null ) {
            gBFSAlert1.setRegionIds( new ArrayList( list2 ) );
        }
        gBFSAlert1.setUrl( systemAlertsAdditionalMapper.mapUrl( gBFSAlert.getUrl(), language ) );
        gBFSAlert1.setSummary( systemAlertsAdditionalMapper.mapSummary( gBFSAlert.getSummary(), language ) );
        gBFSAlert1.setDescription( systemAlertsAdditionalMapper.mapDescription( gBFSAlert.getDescription(), language ) );
        gBFSAlert1.setLastUpdated( dateMapper.mapDoubleToDate( gBFSAlert.getLastUpdated() ) );
        if ( gBFSAlert1.getAdditionalProperties() != null ) {
            Map map = gBFSAlert.getAdditionalProperties();
            if ( map != null ) {
                gBFSAlert1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSAlert1;
    }

    protected List gBFSAlertListToGBFSAlertList(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert gBFSAlert : list ) {
            list1.add( gBFSAlertToGBFSAlert( gBFSAlert, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v3_0.system_alerts.GBFSData gBFSDataToGBFSData14(org.mobilitydata.gbfs.v2_3.system_alerts.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v3_0.system_alerts.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v3_0.system_alerts.GBFSData();

        gBFSData1.setAlerts( gBFSAlertListToGBFSAlertList( gBFSData.getAlerts(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }

    protected org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert.Type typeToType5(GBFSAlert.Type type, String language) {
        if ( type == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert.Type type1;

        switch ( type ) {
            case SYSTEM_CLOSURE: type1 = org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert.Type.SYSTEM_CLOSURE;
            break;
            case STATION_CLOSURE: type1 = org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert.Type.STATION_CLOSURE;
            break;
            case STATION_MOVE: type1 = org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert.Type.STATION_MOVE;
            break;
            case OTHER: type1 = org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert.Type.OTHER;
            break;
            default: throw new IllegalArgumentException( "Unexpected enum constant: " + type );
        }

        return type1;
    }

    protected org.mobilitydata.gbfs.v2_3.system_alerts.GBFSTime gBFSTimeToGBFSTime1(GBFSTime gBFSTime, String language) {
        if ( gBFSTime == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_alerts.GBFSTime gBFSTime1 = new org.mobilitydata.gbfs.v2_3.system_alerts.GBFSTime();

        gBFSTime1.setStart( dateMapper.mapDateToInteger( gBFSTime.getStart() ) );
        gBFSTime1.setEnd( dateMapper.mapDateToInteger( gBFSTime.getEnd() ) );
        if ( gBFSTime1.getAdditionalProperties() != null ) {
            Map map = gBFSTime.getAdditionalProperties();
            if ( map != null ) {
                gBFSTime1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSTime1;
    }

    protected List gBFSTimeListToGBFSTimeList1(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( GBFSTime gBFSTime : list ) {
            list1.add( gBFSTimeToGBFSTime1( gBFSTime, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert gBFSAlertToGBFSAlert1(GBFSAlert gBFSAlert, String language) {
        if ( gBFSAlert == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert gBFSAlert1 = new org.mobilitydata.gbfs.v2_3.system_alerts.GBFSAlert();

        gBFSAlert1.setAlertId( gBFSAlert.getAlertId() );
        gBFSAlert1.setType( typeToType5( gBFSAlert.getType(), language ) );
        gBFSAlert1.setTimes( gBFSTimeListToGBFSTimeList1( gBFSAlert.getTimes(), language ) );
        List list1 = gBFSAlert.getStationIds();
        if ( list1 != null ) {
            gBFSAlert1.setStationIds( new ArrayList( list1 ) );
        }
        List list2 = gBFSAlert.getRegionIds();
        if ( list2 != null ) {
            gBFSAlert1.setRegionIds( new ArrayList( list2 ) );
        }
        gBFSAlert1.setUrl( systemAlertsAdditionalMapper.mapUrlInverse( gBFSAlert.getUrl(), language ) );
        gBFSAlert1.setSummary( systemAlertsAdditionalMapper.mapSummaryInverse( gBFSAlert.getSummary(), language ) );
        gBFSAlert1.setDescription( systemAlertsAdditionalMapper.mapDescriptionInverse( gBFSAlert.getDescription(), language ) );
        gBFSAlert1.setLastUpdated( dateMapper.mapDateToDouble( gBFSAlert.getLastUpdated() ) );
        if ( gBFSAlert1.getAdditionalProperties() != null ) {
            Map map = gBFSAlert.getAdditionalProperties();
            if ( map != null ) {
                gBFSAlert1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSAlert1;
    }

    protected List gBFSAlertListToGBFSAlertList1(List list, String language) {
        if ( list == null ) {
            return null;
        }

        List list1 = new ArrayList( list.size() );
        for ( GBFSAlert gBFSAlert : list ) {
            list1.add( gBFSAlertToGBFSAlert1( gBFSAlert, language ) );
        }

        return list1;
    }

    protected org.mobilitydata.gbfs.v2_3.system_alerts.GBFSData gBFSDataToGBFSData15(org.mobilitydata.gbfs.v3_0.system_alerts.GBFSData gBFSData, String language) {
        if ( gBFSData == null ) {
            return null;
        }

        org.mobilitydata.gbfs.v2_3.system_alerts.GBFSData gBFSData1 = new org.mobilitydata.gbfs.v2_3.system_alerts.GBFSData();

        gBFSData1.setAlerts( gBFSAlertListToGBFSAlertList1( gBFSData.getAlerts(), language ) );
        if ( gBFSData1.getAdditionalProperties() != null ) {
            Map map = gBFSData.getAdditionalProperties();
            if ( map != null ) {
                gBFSData1.getAdditionalProperties().putAll( map );
            }
        }

        return gBFSData1;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy