public long skip(long n) throws IOException {
		if(n == 0) return 0;
		if(n > 0 && n < _bufferSize/2 && _dataInStream != null){
			// Es besteht eine gute Wahrscheinlichkeit, dass die Zielposition noch gepuffert ist
			int remaining = (int) n;
			while(remaining > 0) {
				int skipped = getDataInStream().skipBytes(remaining);
				if(skipped <= 0) break;
				remaining -= skipped;
			}
			if(remaining == 0){
				// Skip Erfolgreich
				_position += n;
				return n;
			}
			// Sonst als Fallback position() benutzen und den _dataInStream bei Bedarf neu initialisieren
		}
		position(position() + n);
		return n;
	}