code: public PdfObject readPRObject() throws IOException {
          if (!nextValidToken())
              return null;
          int type = tokeniser.getTokenType();
          switch (type) {
              case PRTokeniser.TK_START_DIC: {
                  PdfDictionary dic = readDictionary();
                  return dic;
              }
              case PRTokeniser.TK_START_ARRAY:
                  return readArray();
              case PRTokeniser.TK_STRING:
                  PdfString str = new PdfString(tokeniser.getStringValue(), null).setHexWriting(tokeniser.isHexString());
                  return str;
              case PRTokeniser.TK_NAME:
                  return new PdfName(tokeniser.getStringValue(), false);
              case PRTokeniser.TK_NUMBER:
                  return new PdfNumber(tokeniser.getStringValue());
              case PRTokeniser.TK_OTHER:
                  return new PdfLiteral(COMMAND_TYPE, tokeniser.getStringValue());
              default:
                  return new PdfLiteral(-type, tokeniser.getStringValue());
          }
      }
docs: Reads a pdf object.
  @return the pdf object
  @throws IOException on error