A RandomAccessDataSource is used for reading chunks of bytes from file.
Synchronously fetch a chunk of data from a start and end byte offset. This method should be thread safe as it can be called from multiple threads simultaneously. In case of error, throw exception.
Get the size of the resource in number of bytes.