code: public void parse() throws FormatNotUnderstoodException {
  		// do content detection of document
  			if (this.hocr.getMimeType().contains(OfficeReader.FORMAT_EXCEL))	{
  				// check if low footprint
  				if (!this.hocr.getLowFootprint()) {
  					LOG.info("Using standard API to parse Excel file");
  					// if it contains Excel then use default MSExcelParser
  					this.currentParser=new MSExcelParser(this.hocr, this.sheetsArray);
  				} else {
  					// use low footprint parser
  					LOG.info("Using low footprint API to parse Excel file");
  					this.currentParser=new MSExcelLowFootprintParser(this.hocr, this.sheetsArray);
  				}
  			} else {
  			// if it cannot be detected throw an exception
  				throw new FormatNotUnderstoodException("Format not understood");
  			}
  		// parse the inputStream
  		currentParser.parse(this.in);
  	}
docs: Parses the input stream and generates an in-memory representation of the document. In most cases (depending on the parser) the full document needs to be represented in-memory.
  
  @throws org.zuinnote.hadoop.office.format.common.parser.FormatNotUnderstoodException in case an invalid format is detected