code: public void writeToStream(OutputStream outputStream) throws IOException {
  		if (exhausted) {
  			throw new UnsupportedOperationException("Der Content-InputStream des Blobs wurde bereits einmal gelesen");
  		}
  
  		MessageDigest digest = getDigest();
  		DigestOutputStream digestOutputStream = new DigestOutputStream(outputStream, digest);
  
  		// Headerdaten und Inhalt schreiben
  		DataOutputStream dataOutputStream = new DataOutputStream(digestOutputStream);
  
  		// Immer erster Stelle die aktuelle Version schreiben
  		dataOutputStream.writeByte(CURRENT_BINARY_VERSION);
  
  		// Die Reihenfolge der Felder darf sich aus Gründen der
  		// Kompatibilität niemals ändern. Neue Felder können hinzugefügt
  		// werden. Dann ist die Version hochzusetzten.
  		dataOutputStream.writeUTF(type());
  		dataOutputStream.writeUTF(compression);
  		dataOutputStream.writeLong(contentLength);
  
  		// Nur der Content wird komprimiertFileSizeFormatter
  		Compressor compressor = createCompressor(compression);
  		OutputStream compressingStream = compressor.compress(dataOutputStream);
  
  		Streams.copyStream(contentStream, compressingStream, true);
  
  		byte[] hashBytes = digest.digest();
  
  		id = HashUtil.convertHashBytesToString(hashBytes);
  	}
docs: Serialisiert das Objekt in den übergebenen OutputStream. Zunächst wird der Header (Type, Kompressions und Länge)
  in den Stream geschrieben. Anschließen der Content des Blobs, ggf. komprimiert. <br/>
  <br/>
  Der OutputStream wird am Ende der Operation geschlossen. Die geschriebenen Bytes werden gehasht und der Hash in
  der Id des Blobs gespeichert. Da der InputStream gelesen wird, kann diese Methode nur ein Mal aufgerufen werden.
  
  @param outputStream
  Ziel der Serialisierung
  @throws UnsupportedOperationException
  falls der InputStream des Blobs bereits eingelesen wurde.
  @throws IOException