@Override
    public int read(byte[] b, int off, int len) throws IOException {
        int result = in.read(b, off, len);
        if (result != -1) {
            lastReadSize = result;
            firstOffsetInLastRead++;
            lastOffsetInLastRead += result;
        }
        return result;
    }
Creates a <code>FilterInputStream</code>
by assigning the  argument <code>in</code>
to the field <code>this.in</code> so as
to remember it for later use.

@param in the underlying input stream, or <code>null</code> if
          this instance is to be created without an underlying stream.
stroom-data/stroom-data-store-impl/src/main/java/stroom/data/store/impl/LocationAwareInputStream.java