try { SeekableByteChannel attemptedChannel = entry.getPrimitive().newSeekableDecryptingChannel(ciphertextChannel, associatedData); if (cachedPosition >= 0) { // Caller did set new position before 1st read(). attemptedChannel.position(cachedPosition);