DataInputStream din = new DataInputStream(istream);
  public void read(java.io.InputStream istream)            throws MARSHAL  {    try      {        DataInputStream din = new DataInputStream(istream);        byte[] xMagic = new byte[ MAGIC.length ];        din.read(xMagic);        if (!Arrays.equals(xMagic, MAGIC))          throw new MARSHAL("Not a GIOP message");        version = Version.read_version(din);        flags = (byte) din.read();        /** TODO implement support for the little endian. */        if (!isBigEndian())          throw new MARSHAL("Little endian unsupported.");        message_type = (byte) din.read();        message_size = din.readInt();      }    catch (IOException ex)      {        throw new MARSHAL(ex.toString());      }  }