protected void formFeed() throws IOException {
   if (lineFeedOnEmptySheet && pageIsEmpty()) {
     lineFeed();
   }
   super.formFeed(); // form feed characters belong to the current page
   pages.add(new ArrayList<Byte>()); // start a new page
 }
 public void close() throws IOException {
   finalizeVolume();
   super.close();
 }
 public void newVolumeSectionAndPage(boolean duplex) throws IOException {
   super.newVolumeSectionAndPage(duplex);
   finalizeVolume();
   initVolume();
 }
 public void open(boolean duplex) throws IOException {
   super.open(duplex);
   initVolume();
 }