docs: public boolean check() throws Exception {
          Document doc = Document.loadDocument(in);
          Meta metadata = doc.getOfficeMetadata();
          if (metadata != null) {
              title = metadata.getTitle();
              subject = metadata.getSubject();
              description = metadata.getDescription();
              initialCreator = metadata.getInitialCreator();
              creator = metadata.getCreator();
              language = metadata.getLanguage();
              editingCycles = metadata.getEditingCycles();
              creationDate = metadata.getCreationDate();
              modificationDate = metadata.getDcdate();
              if (metadata.getEditingDuration() != null) {
                  Duration duration = metadata.getEditingDuration().getValue();
                  editingTime = duration.getTimeInMillis(Calendar.getInstance()) / 1000;
              }
              printDate = metadata.getPrintDate();
              printedBy = metadata.getPrintedBy();
              if (metadata.getKeywords() != null) {
                  keywords.addAll(metadata.getKeywords());
              }
              generator = metadata.getGenerator();
              if (metadata.getDocumentStatistic() != null) {
                  pages = metadata.getDocumentStatistic().getPageCount();
              }
          }
  
          // document specific meta
          if (doc instanceof PresentationDocument) {
              PresentationDocument presentation = (PresentationDocument) doc;
              pages = presentation.getSlideCount();
          }
  
          if (doc instanceof SpreadsheetDocument) {
              SpreadsheetDocument spreadsheet = (SpreadsheetDocument) doc;
              sheets = spreadsheet.getSheetCount();
          }
  
          return true;
      }