public static <T> List<ViewContact> resolveContacts(AbstractA<T> contributor, IFilteringContext filteringContext, IDetailsFilter detailsFilter) { List<ViewContact> contacts = new LinkedList<ViewContact>(); for (YAttribute contact : contributor.getAttributes()) { if (attributeHasOneOfKeys(contact, YConstants.AT_CONTACT_TYPE_EMAIL, YConstants.AT_CONTACT_EMAIL)) { ViewContact viewContact = new ViewContact( YConstants.AT_CONTACT_EMAIL, detailsFilter.filter( contact.getValue(), InputType.RICH_TEXT, filteringContext)); contacts.add(viewContact); } else if (attributeHasOneOfKeys(contact, YConstants.AT_CONTACT_TYPE_WWW, YConstants.AT_CONTACT_URL)) { ViewContact viewContact = new ViewContact( YConstants.AT_CONTACT_URL, detailsFilter.filter( contact.getValue(), InputType.RICH_TEXT, filteringContext)); contacts.add(viewContact); } else if (attributeHasOneOfKeys(contact, YConstants.AT_CONTACT_TYPE_PHONE, YConstants.AT_CONTACT_PHONE)) { ViewContact viewContact = new ViewContact( YConstants.AT_CONTACT_PHONE, detailsFilter.filter( contact.getValue(), InputType.RICH_TEXT, filteringContext)); contacts.add(viewContact); } } return contacts; }