code: @Sensitive
      public static byte[] encodeGSSUPToken(Codec codec, String user, @Sensitive char[] pwd, String target) {
          byte[] result = null;
          try {
              // create and encode a GSSUP initial context token
              InitialContextToken init_token = new InitialContextToken();
              init_token.username = user.getBytes("UTF-8");
              init_token.password = getUTF8Bytes(pwd);
              init_token.target_name = encodeGSSExportName(GSSUPMechOID.value.substring(4), target);
  
              Any a = ORB.init().create_any();
              InitialContextTokenHelper.insert(a, init_token);
              byte[] init_ctx_token = codec.encode_value(a);
  
              result = createGSSToken(codec, GSSUPMechOID.value, init_ctx_token);
          } catch (Exception ex) {
              // do nothing, return null
          }
          return result;
      }
docs: Encode a mechanism independent initial context token (GSSToken). Defined
  in [IETF RFC 2743] Section 3.1, "Mechanism-Independent token Format" pp. 81-82.
  <table>
  <tr><td><b>Offset</b></td><td><b>Meaning</b></td></tr>
  <tr><td>0</td><td>ASN1 tag</td></tr>
  <tr><td>1</td><td>token length (&lt;128)</td></tr>
  <tr><td>2</td><td>mechanism oid</td></tr>
  <tr><td>n</td><td>mechanism specific token (e.g. GSSUP::InitialContextToken)</td></tr>
  </table>
  Currently only one mechanism specific token is supported: GSS username password
  (GSSUP::InitialContextToken).
  
  @param codec The codec to do the encoding of the Any.
  @param user The username.
  @param pwd The password of the user.
  @param target The target name.
  @return The byte array of the ASN1 encoded GSSToken.