@Override public InStore openRead(long address,int size){
  if (fileSize() < address + size) {
    throw new IllegalStateException(L.l("{0} read open for length {1}:{2} but file length {3}",this,address,size,fileSize()));
  }
  if (_isClosed.get()) {
    throw new IllegalStateException(L.l("{0} is closed.",this));
  }
  if (_fileSize < address + size) {
    throw new IllegalStateException(L.l("Open read of large file {0}:{1}",Long.toHexString(address),size));
  }
  try {
    streamOpen(address,size);
    return openReadImpl(address,size);
  }
 catch (  IOException e) {
    throw new RuntimeException(e);
  }
}

@ Override public InStore openRead ( long address , int size ) { if ( fileSize ( ) < address + size ) { throw new IllegalStateException ( L . l ( "{0} read open for length {1}:{2} but file length {3}" , this , address , size , fileSize ( ) ) ) ; } if ( _isClosed . get ( ) ) { throw new IllegalStateException ( L . l ( "{0} is closed." , this ) ) ; } if ( _fileSize < address + size ) { throw new IllegalStateException ( L . l ( "Open read of large file {0}:{1}" , Long . toHexString ( address ) , size ) ) ; } try { streamOpen ( address , size ) ; return openReadImpl ( address , size ) ; } catch ( IOException e ) { throw new RuntimeException ( e ) ; } }
opens the underlying file to the database .
