protected internal override TaskManager createTaskManagerImpl(TaskConfiguration taskConfig)
        {
            MapWriterConfiguration configuration = new MapWriterConfiguration();

            configuration.addOutputFile(getStringArgument(taskConfig, PARAM_OUTFILE, Constants.DEFAULT_PARAM_OUTFILE));
            configuration.loadTagMappingFile(getStringArgument(taskConfig, PARAM_TAG_MAPPING_FILE, null));

            configuration.addMapStartPosition(getStringArgument(taskConfig, PARAM_MAP_START_POSITION, null));
            configuration.addMapStartZoom(getStringArgument(taskConfig, PARAM_MAP_START_ZOOM, null));
            configuration.addBboxConfiguration(getStringArgument(taskConfig, PARAM_BBOX, null));
            configuration.addZoomIntervalConfiguration(getStringArgument(taskConfig, PARAM_ZOOMINTERVAL_CONFIG, null));

            configuration.Comment         = getStringArgument(taskConfig, PARAM_COMMENT, null);
            configuration.DebugStrings    = getBooleanArgument(taskConfig, PARAM_DEBUG_INFO, false);
            configuration.PolygonClipping = getBooleanArgument(taskConfig, PARAM_POLYGON_CLIPPING, true);
            configuration.WayClipping     = getBooleanArgument(taskConfig, PARAM_WAY_CLIPPING, true);
            configuration.LabelPosition   = getBooleanArgument(taskConfig, PARAM_LABEL_POSITION, false);
            // boolean waynodeCompression = getBooleanArgument(taskConfig, PARAM_WAYNODE_COMPRESSION,
            // true);
            configuration.Simplification       = getDoubleArgument(taskConfig, PARAM_SIMPLIFICATION_FACTOR, Constants.DEFAULT_SIMPLIFICATION_FACTOR);
            configuration.SkipInvalidRelations = getBooleanArgument(taskConfig, PARAM_SKIP_INVALID_RELATIONS, false);

            configuration.DataProcessorType = getStringArgument(taskConfig, PARAM_TYPE, Constants.DEFAULT_PARAM_TYPE);
            configuration.BboxEnlargement   = getIntegerArgument(taskConfig, PARAM_BBOX_ENLARGEMENT, Constants.DEFAULT_PARAM_BBOX_ENLARGEMENT);

            configuration.PreferredLanguages = getStringArgument(taskConfig, PARAM_PREFERRED_LANGUAGES, null);
            configuration.addEncodingChoice(getStringArgument(taskConfig, PARAM_ENCODING, Constants.DEFAULT_PARAM_ENCODING));

            configuration.validate();

            MapFileWriterTask task = new MapFileWriterTask(configuration);

            return(new SinkManager(taskConfig.Id, task, taskConfig.PipeArgs));
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUp()
        public virtual void setUp()
        {
            this.configuration = new MapWriterConfiguration();
            // this.configuration.addOutputFile(getStringArgument(taskConfig, PARAM_OUTFILE,
            // Constants.DEFAULT_PARAM_OUTFILE));
            this.configuration.WriterVersion = "test";
            this.configuration.loadTagMappingFile("src/test/resources/tag-mapping.xml");
            this.configuration.addMapStartPosition("52.455882,13.297244");
            this.configuration.addMapStartZoom("14");
            this.configuration.addBboxConfiguration("52,13,53,14");
            this.configuration.addZoomIntervalConfiguration("5,0,7,10,8,11,14,12,18");
            this.configuration.Comment            = "i love mapsforge";
            this.configuration.DebugStrings       = false;
            this.configuration.PolygonClipping    = true;
            this.configuration.WayClipping        = true;
            this.configuration.Simplification     = 0.00001;
            this.configuration.DataProcessorType  = "ram";
            this.configuration.BboxEnlargement    = 10;
            this.configuration.PreferredLanguages = "en,de";
            this.configuration.addEncodingChoice("auto");
            this.configuration.validate();

            this.dataProcessor = RAMTileBasedDataProcessor.newInstance(this.configuration);
        }