code: private void init(DerInputStream derStrm) throws CRLException {
          try {
              DerInputStream str = derStrm;
  
              byte nextByte = (byte)derStrm.peekByte();
              // check for context specific byte 0; skip it
              if (((nextByte & 0x0c0) == 0x080) &&
                  ((nextByte & 0x01f) == 0x000)) {
                  DerValue val = str.getDerValue();
                  str = val.data;
              }
  
              DerValue[] exts = str.getSequence(5);
              for (int i = 0; i < exts.length; i++) {
                  Extension ext = new Extension(exts[i]);
                  parseExtension(ext);
              }
          } catch (IOException e) {
              throw new CRLException("Parsing error: " + e.toString());
          }
      }
docs: helper routine