static private byte magic[] = new byte[] {(byte)'G', (byte)'I', (byte)'O', (byte)'P'};
static private MessageHeader_1_1 readMessageHeader(InputStream inputStream) throws IOException {
DataInputStream dataInputStream = new DataInputStream(inputStream);
MessageHeader_1_1 messageHeader = new MessageHeader_1_1(dataInputStream.readByte(),
dataInputStream.readByte(),
dataInputStream.readByte(),
dataInputStream.readByte(),
new Version(dataInputStream.readByte(), // version major
dataInputStream.readByte()), // version minor