Program: 175369
Project: 175369
Buggy source:
@Override public TerrariumDataProvider buildDataProvider(){
  int heightOrigin=this.properties.getInteger(HEIGHT_ORIGIN);
  SrtmHeightSource heightSource=new SrtmHeightSource(this.srtmRaster,"String_Node_Str");
  DataLayer<ShortRasterTile> heightSampler=new ShortTileSampleLayer(heightSource);
  DataLayer<ShortRasterTile> heightProducer=this.createHeightProducer(heightSampler);
  DataLayer<CoverRasterTile> coverProducer=this.createCoverProducer();
  DataLayer<OsmTile> osmProducer=this.createOsmProducer();
  DataLayer<ShortRasterTile> waterBankLayer=new WaterBankPopulatorLayer(coverProducer,heightProducer);
  waterBankLayer=new OsmCoastlineLayer(waterBankLayer,osmProducer,this.earthCoordinates);
  waterBankLayer=new OsmWaterBodyLayer(waterBankLayer,osmProducer,this.earthCoordinates);
  DataLayer<WaterRasterTile> waterProducer=new WaterProcessorLayer(waterBankLayer);
  return TerrariumDataProvider.builder().withComponent(RegionComponentType.HEIGHT,heightProducer).withComponent(RegionComponentType.SLOPE,this.createSlopeProducer(heightSampler)).withComponent(RegionComponentType.COVER,coverProducer).withComponent(EarthComponentTypes.OSM,osmProducer).withComponent(EarthComponentTypes.WATER,waterProducer).withAdapter(new WaterApplyAdapter(this.earthCoordinates,EarthComponentTypes.WATER,RegionComponentType.HEIGHT,RegionComponentType.COVER)).withAdapter(new OsmAreaCoverAdapter(this.earthCoordinates,EarthComponentTypes.OSM,RegionComponentType.COVER)).withAdapter(new HeightTransformAdapter(this.world,RegionComponentType.HEIGHT,this.properties.getDouble(HEIGHT_SCALE) * this.worldScale,heightOrigin)).withAdapter(new WaterLevelingAdapter(EarthComponentTypes.WATER,RegionComponentType.HEIGHT,heightOrigin + 1)).withAdapter(new WaterCarveAdapter(EarthComponentTypes.WATER,RegionComponentType.HEIGHT,this.properties.getInteger(OCEAN_DEPTH))).withAdapter(new BeachAdapter(this.world,RegionComponentType.COVER,EarthComponentTypes.WATER,this.properties.getInteger(BEACH_SIZE),EarthCoverTypes.BEACH)).build();
}

Fixed version (ground truth):
@Override public TerrariumDataProvider buildDataProvider(){
  int heightOrigin=this.properties.getInteger(HEIGHT_ORIGIN);
  SrtmHeightSource heightSource=new SrtmHeightSource(this.srtmRaster,"String_Node_Str");
  DataLayer<ShortRasterTile> heightSampler=new ShortTileSampleLayer(heightSource);
  DataLayer<ShortRasterTile> heightProducer=this.createHeightProducer(heightSampler);
  DataLayer<CoverRasterTile> coverProducer=this.createCoverProducer();
  DataLayer<OsmTile> osmProducer=this.createOsmProducer();
  DataLayer<ShortRasterTile> waterBankLayer=new WaterBankPopulatorLayer(coverProducer,heightProducer);
  waterBankLayer=new OsmCoastlineLayer(waterBankLayer,osmProducer,this.earthCoordinates);
  waterBankLayer=new OsmWaterBodyLayer(waterBankLayer,osmProducer,this.earthCoordinates);
  DataLayer<WaterRasterTile> waterProducer=new WaterProcessorLayer(waterBankLayer);
  return TerrariumDataProvider.builder().withComponent(RegionComponentType.HEIGHT,heightProducer).withComponent(RegionComponentType.SLOPE,this.createSlopeProducer(heightSampler)).withComponent(RegionComponentType.COVER,coverProducer).withComponent(EarthComponentTypes.OSM,osmProducer).withComponent(EarthComponentTypes.WATER,waterProducer).withAdapter(new WaterApplyAdapter(this.earthCoordinates,EarthComponentTypes.WATER,RegionComponentType.HEIGHT,RegionComponentType.COVER)).withAdapter(new OsmAreaCoverAdapter(this.earthCoordinates,EarthComponentTypes.OSM,RegionComponentType.COVER)).withAdapter(new HeightNoiseAdapter(this.world,RegionComponentType.HEIGHT,2,0.08,this.properties.getDouble(NOISE_SCALE))).withAdapter(new HeightTransformAdapter(this.world,RegionComponentType.HEIGHT,this.properties.getDouble(HEIGHT_SCALE) * this.worldScale,heightOrigin)).withAdapter(new WaterLevelingAdapter(EarthComponentTypes.WATER,RegionComponentType.HEIGHT,heightOrigin + 1)).withAdapter(new WaterCarveAdapter(EarthComponentTypes.WATER,RegionComponentType.HEIGHT,this.properties.getInteger(OCEAN_DEPTH))).withAdapter(new BeachAdapter(this.world,RegionComponentType.COVER,EarthComponentTypes.WATER,this.properties.getInteger(BEACH_SIZE),EarthCoverTypes.BEACH)).build();
}