@Override
public boolean input(JIDContext context, Protocol protocol) {
JID group = super.build(protocol.getTo());
MucRelation relation = super.ourRelation(context.jid(), group).cast(MucRelation.class).noneRole();
Room room = this.room.build(group);
Presence presence = new Presence();
for (Relation each : super.myRelations(group)) {
JID to = super.build(each.cast(MucRelation.class).jid());
super.findOne(to, true).write(presence.clear().add(this.judger.add(new XUser(group, to, room.allowed(to, RoomConfig.WHOISEXISTS)).item(new Item(room.allowed(to, RoomConfig.WHOISALLOW, context.jid()), relation))).cast(XUser.class)).type(PresenceType.UNAVAILABLE).setFrom(protocol.getTo()));
}
return true;
}