class Background extends AbstractScesimModel<BackgroundData> {

    @Override
    public Background cloneModel() {
        Background toReturn = new Background();
        final List<FactMapping> originalFactMappings = this.scesimModelDescriptor.getUnmodifiableFactMappings();
        for (int i = 0; i < originalFactMappings.size(); i++) {
            final FactMapping originalFactMapping = originalFactMappings.get(i);
            toReturn.scesimModelDescriptor.addFactMapping(i, originalFactMapping);
        }
        this.scesimData.forEach(scenario -> toReturn.scesimData.add(scenario.cloneInstance()));
        return toReturn;
    }

}