docs: public FileInfo getFileInfo() throws IOException {
  
          try {
              load(false);
              if (m_resource.isFile()) {
  
                  //  Fill in a file information object for this file/directory
  
                  long flen = m_resource.getLength();
  
                  //long alloc = (flen + 512L) & 0xFFFFFFFFFFFFFE00L;
                  long alloc = flen;
                  int fattr = 0;
                  if (m_cms.getRequestContext().getCurrentProject().isOnlineProject()) {
                      fattr += FileAttribute.ReadOnly;
                  }
                  //  Create the file information
                  FileInfo finfo = new FileInfo(m_resource.getName(), flen, fattr);
                  long fdate = m_resource.getDateLastModified();
                  finfo.setModifyDateTime(fdate);
                  finfo.setAllocationSize(alloc);
                  finfo.setFileId(m_resource.getStructureId().hashCode());
                  finfo.setCreationDateTime(m_resource.getDateCreated());
                  finfo.setChangeDateTime(fdate);
                  return finfo;
              } else {
  
                  //  Fill in a file information object for this directory
  
                  int fattr = FileAttribute.Directory;
                  if (m_cms.getRequestContext().getCurrentProject().isOnlineProject()) {
                      fattr += FileAttribute.ReadOnly;
                  }
                  // Can't use negative file size here, since this stops Windows 7 from connecting
                  FileInfo finfo = new FileInfo(m_resource.getName(), 1, fattr);
                  long fdate = m_resource.getDateLastModified();
                  finfo.setModifyDateTime(fdate);
                  finfo.setAllocationSize(1);
                  finfo.setFileId(m_resource.getStructureId().hashCode());
                  finfo.setCreationDateTime(m_resource.getDateCreated());
                  finfo.setChangeDateTime(fdate);
                  return finfo;
  
              }
          } catch (CmsException e) {
              throw CmsJlanDiskInterface.convertCmsException(e);
  
          }
      }