code: public long getFileOffset(long rva) {
          // standard value if rva doesn't point into a section
          long fileOffset = rva;
          Optional<Long> maybeOffset = maybeGetFileOffset(rva);
          // file offset is not within file --> warning
          if (!maybeOffset.isPresent()) {
              logger.warn("invalid file offset: 0x"
                      + Long.toHexString(fileOffset) + " for file: "
                      + file.getName() + " with length 0x"
                      + Long.toHexString(file.length()));
          } else {
          	fileOffset = maybeOffset.get();
          }
          return fileOffset;
      }
docs: Returns the file offset for the given RVA.
  <p>
  A warning is issued if the file offset is outside the file, but the file
  offset will be returned nevertheless.
  
  @param rva
  the relative virtual address that shall be converted to a
  plain file offset
  @return file offset