code: public byte[] wrap(byte []inBuf, int off, int len, MessageProp prop)
          throws GSSException {
  
          checkContext();
  
          logger.debug("enter wrap");
  
          byte [] token = null;
          boolean doGSIWrap = false;
  
          if (prop != null) {
              if (prop.getQOP() != 0 && prop.getQOP() != GSSConstants.GSI_BIG) {
                  throw new GSSException(GSSException.BAD_QOP);
              }
              doGSIWrap = (!prop.getPrivacy() && prop.getQOP() == GSSConstants.GSI_BIG);
          }
  
          if (doGSIWrap) {
              throw new GSSException(GSSException.UNAVAILABLE);
  /*DEL
  
              byte [] mic = getMIC(inBuf, off, len, null);
  
              byte [] wtoken = new byte[5 + len + mic.length];
              wtoken[0] = GSI_WRAP;
              wtoken[1] = 3;
              wtoken[2] = 0;
              wtoken[3] = (byte)(mic.length >>> 8);
              wtoken[4] = (byte)(mic.length >>> 0);
              System.arraycopy(mic, 0, wtoken, 5, mic.length);
              System.arraycopy(inBuf, off, wtoken, 5+mic.length, len);
  
              token = wtoken;
  */
          } else {
              token = wrap(inBuf, off, len);
  
              if (prop != null) {
                  prop.setPrivacy(this.encryption);
                  prop.setQOP(0);
              }
          }
  
          logger.debug("exit wrap");
          return token;
      }
docs: Wraps a message for integrity and protection.
  A regular SSL-wrapped token is returned.