code: @Override
  	public void applyFiltering(PngFilterType filterType, List<byte[]> scanlines, int sampleBitCount) {
  		int scanlineLength = scanlines.get(0).length;
  		byte[] previousRow = new byte[scanlineLength];
  		for (byte[] scanline : scanlines) {
  			if (filterType != null) {
  				scanline[0] = filterType.getValue();
  			}
  
  			byte[] previous = scanline.clone();
  
  			try {
  				this.filter(scanline, previousRow, sampleBitCount);
  			} catch (PngException e) {
  				this.log.error("Error during filtering: %s", e.getMessage());
  			}
  			previousRow = previous;
  		}
  	}
docs: {@inheritDoc}