code: int read() throws IOException {
          int nextInt = -1;
          if (!hasSplit) {
              split();
          }
          if (beforeDoctype != null) {
              nextInt = beforeDoctype.read();
              if (nextInt == -1) {
                  beforeDoctype = null;
              }
          }
          if (nextInt == -1 && decl != null) {
              nextInt = decl.read();
              if (nextInt == -1) {
                  decl = null;
              }
          }
          if (nextInt == -1 && afterDoctype != null) {
              nextInt = afterDoctype.read();
              if (nextInt == -1) {
                  afterDoctype = null;
              }
          }
          if (nextInt == -1) {
              nextInt = original.read();
          }
          return nextInt;
      }
docs: Reads the next character from the declaration.
  @return -1 if the end of the declaration has been reached.