code: private void handleSuppressedDeclaration()
          throws XMLStreamException
      {
          String keyw;
          char c = dtdNextFromCurr();
  
          if (c == 'N') {
              keyw = checkDTDKeyword("TITY");
              if (keyw == null) {
                  handleEntityDecl(true);
                  return;
              }
              keyw = "EN" + keyw;
              mFlattenWriter.enableOutput(mInputPtr); // error condition...
          } else {
              mFlattenWriter.enableOutput(mInputPtr);
              mFlattenWriter.output("<!E");
              mFlattenWriter.output(c);
  
              if (c == 'L') {
                  keyw = checkDTDKeyword("EMENT");
                  if (keyw == null) {
                      handleElementDecl();
                      return;
                  }
                  keyw = "EL" + keyw;
              } else {
                  keyw = readDTDKeyword("E");
              }
          }
          _reportBadDirective(keyw);
      }
docs: Specialized method that handles potentially suppressable entity
  declaration. Specifically: at this point it is known that first
  letter is 'E', that we are outputting flattened DTD info,
  and that parameter entity declarations are to be suppressed.
  Furthermore, flatten output is still being disabled, and needs
  to be enabled by the method at some point.