public World(Initializer init) { String source = init.findDataOr("terrain.source", "file"); switch (source) { case "file": myTerrainSource = new LocalFileTerrainSource(init, this); break; case "generated": myTerrainSource = new LocalGeneratedTerrainSource(init, this); break; case "remote": myTerrainSource = new RemoteTerrainSource(init, this); break; } myPager = new TerrainPager(this); }