concept G22BinaryMessage { // mandatory long length; MD5 md5; ByteArrayOrFile data; Timestamp date; S fromHost, toHost; // optional I guess S fromUser, toUser; }