@Override
    public ByteBuffer getHeader() {
      return header.asReadOnlyBuffer();
    }
An instance of a crypter used to encrypt a plaintext stream. The instances have state:
encryptedSegments counts the number of encrypted segments. This state is used to generate the
IV for each segment. By enforcing that only the method encryptSegment can increment this state,
we can guarantee that the IV does not repeat.
java_src/src/main/java/com/google/crypto/tink/subtle/AesGcmHkdfStreaming.java