/** * Creates an instance of <tt>MetaContactDetail</tt> by specifying the underlying protocol * <tt>Contact</tt>. * * @param contact the protocol contact, on which this implementation is based */ public MetaContactDetail(Contact contact) { super( contact.getAddress(), contact.getDisplayName(), new ImageIcon(contact.getPresenceStatus().getStatusIcon()), contact); this.contact = contact; ProtocolProviderService parentProvider = contact.getProtocolProvider(); Iterator<Class<? extends OperationSet>> opSetClasses = parentProvider.getSupportedOperationSetClasses().iterator(); while (opSetClasses.hasNext()) { Class<? extends OperationSet> opSetClass = opSetClasses.next(); addPreferredProtocolProvider(opSetClass, parentProvider); addPreferredProtocol(opSetClass, parentProvider.getProtocolName()); } }