final private long physicalAddress(final int addr,final boolean nocheck){
  final Lock lock=m_allocationReadLock;
  lock.lock();
  try {
    if (addr >= 0) {
      return addr & 0xFFFFFFE0;
    }
 else {
      final FixedAllocator allocator=getBlock(addr);
      final int offset=getOffset(addr);
      final long laddr=allocator.getPhysicalAddress(offset,nocheck);
      return laddr;
    }
  }
  finally {
    lock.unlock();
  }
}

final private long physicalAddress ( final int addr , final boolean nocheck ) { final Lock lock = m_allocationReadLock ; lock . lock ( ) ; try { if ( addr >= 0 ) { return addr & 0xFFFFFFE0 ; } else { final FixedAllocator allocator = getBlock ( addr ) ; final int offset = getOffset ( addr ) ; final long laddr = allocator . getPhysicalAddress ( offset , nocheck ) ; return laddr ; } } finally { lock . unlock ( ) ; } }
return the byte offset in the file .
