in.setCodeSet(cxCodeSet.find(service_context));
in.setCodeSet(CodeSetServiceContext.find(service_context));
  public void read(cdrInput in)  {    try      {        request_id = in.read_ulong();        response_flags = (byte) in.read();        // Skip 3 reserved octets:        in.skip(3);        // Read target address.        AddressingDisposition = in.read_ushort();        switch (AddressingDisposition)          {            case KeyAddr :              object_key = in.read_sequence();              break;            // TODO FIXME add other addressing methods.            case ProfileAddr :              throw new NO_IMPLEMENT("Object addressing by IOP tagged profile");            case ReferenceAddr :              throw new NO_IMPLEMENT("Object addressing by by IOR addressing info");            default :              MARSHAL m = new MARSHAL("Unknow addressing method in request, " +                                AddressingDisposition                               );              m.minor = Minor.UnsupportedAddressing;              throw m;          }        operation = in.read_string();        service_context = gnu.CORBA.GIOP.ServiceContext.readSequence(in);        // No requesting principal in this new format.        in.setCodeSet(cxCodeSet.find(service_context));      }    catch (IOException ex)      {        MARSHAL t = new MARSHAL();        t.minor = Minor.Header;        t.initCause(ex);        throw t;      }  }