code: @CanIgnoreReturnValue
    public long writeFrom(InputStream input) throws IOException {
      checkNotNull(input);
  
      Closer closer = Closer.create();
      try {
        OutputStream out = closer.register(openStream());
        long written = ByteStreams.copy(input, out);
        out.flush(); // https://code.google.com/p/guava-libraries/issues/detail?id=1330
        return written;
      } catch (Throwable e) {
        throw closer.rethrow(e);
      } finally {
        closer.close();
      }
    }
docs: Writes all the bytes from the given {@code InputStream} to this sink. Does not close {@code
  input}.
  
  @return the number of bytes written
  @throws IOException if an I/O occurs while reading from {@code input} or writing to this sink