private PDFObject readHexString(int objNum,int objGen,PDFDecrypter decrypter) throws IOException {
  int val;
  StringBuffer sb=new StringBuffer();
  while ((val=readHexPair()) >= 0) {
    sb.append((char)val);
  }
  if (buf.get() != '>') {
    throw new PDFParseException("Bad character in Hex String");
  }
  return new PDFObject(this,PDFObject.STRING,decrypter.decryptString(objNum,objGen,sb.toString()));
}

private PDFObject readHexString ( int objNum , int objGen , PDFDecrypter decrypter ) throws IOException { int val ; StringBuffer sb = new StringBuffer ( ) ; while ( ( val = readHexPair ( ) ) >= 0 ) { sb . append ( ( char ) val ) ; } if ( buf . get ( ) != '>' ) { throw new PDFParseException ( "Bad character in Hex String" ) ; } return new PDFObject ( this , PDFObject . STRING , decrypter . decryptString ( objNum , objGen , sb . toString ( ) ) ) ; }
read a < hex string > . the initial < has already been read .
