StreamInvalidLockException is thrown if the current lock handle becomes invalid.
CacheStream opened for reading or writing mode acquires read or writer lock.
Suppose there are two cache clients. First opens stream for either reading/writing.
Before first client closes the stream, it is removed from the cache due to expiration
or eviction. Now at this moment second client opens a fresh stream. If first client
performs any operation on the stream, his lock handle becomes inavlid and StreamInvalidLockException