    public htmlFilterInputStream(
            final InputStream inStream,
            final String inputStreamCharset,
            final yacyURL rooturl,
            final htmlFilterTransformer transformer,
            final boolean passbyIfBinarySuspect
    ) {
        this.bufferedIn = new BufferedInputStream(inStream,(int) preBufferSize);
        this.bufferedIn.mark((int) preBufferSize);
        final htmlFilterContentScraper scraper = new htmlFilterContentScraper(rooturl);
        try {
	    this.reader = new InputStreamReader(this,inputStreamCharset);
	} catch (UnsupportedEncodingException e) {
	    try {
		this.reader = new InputStreamReader(this, "UTF-8");
	    } catch (UnsupportedEncodingException e1) {
		this.reader = new InputStreamReader(this);
	    }
	} 
        this.writer = new htmlFilterWriter(null,null,scraper,transformer,passbyIfBinarySuspect);
    }

    public htmlFilterInputStream(
            final InputStream inStream,
            final String inputStreamCharset,
            final yacyURL rooturl,
            final htmlFilterTransformer transformer,
            final boolean passbyIfBinarySuspect
    ) {
        this.bufferedIn = new BufferedInputStream(inStream,(int) preBufferSize);
        this.bufferedIn.mark((int) preBufferSize);
        final htmlFilterContentScraper scraper = new htmlFilterContentScraper(rooturl);
        scraper.registerHtmlFilterEventListener(this);
        try {
	    this.reader = new InputStreamReader(this,inputStreamCharset);
	} catch (UnsupportedEncodingException e) {
	    try {
		this.reader = new InputStreamReader(this, "UTF-8");
	    } catch (UnsupportedEncodingException e1) {
		this.reader = new InputStreamReader(this);
	    }
	} 
        this.writer = new htmlFilterWriter(null,null,scraper,transformer,passbyIfBinarySuspect);
    }
