public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { jid = new JID(ExternalizableUtil.getInstance().readSafeUTF(in)); if (ExternalizableUtil.getInstance().readBoolean(in)) { nickname = ExternalizableUtil.getInstance().readSafeUTF(in); } this.groups = new LinkedList<String>(); ExternalizableUtil.getInstance().readStrings(in, groups); ExternalizableUtil.getInstance().readStrings(in, sharedGroups); ExternalizableUtil.getInstance().readStrings(in, invisibleSharedGroups); recvStatus = RecvType.getTypeFromInt(ExternalizableUtil.getInstance().readInt(in)); subStatus = SubType.getTypeFromInt(ExternalizableUtil.getInstance().readInt(in)); askStatus = AskType.getTypeFromInt(ExternalizableUtil.getInstance().readInt(in)); rosterID = ExternalizableUtil.getInstance().readLong(in); }