/*
 * Derived from com.android.mms.data.ContactList
 * (tag android-4.4.4_r2.0.1)
 */

package ca.bmaupin.merge.sms.data;

import java.util.ArrayList;

import android.text.TextUtils;

public class ContactList extends ArrayList<Contact> {
	private static final long serialVersionUID = 1L;
	
    public String formatNames(String separator) {
        String[] names = new String[size()];
        int i = 0;
        for (Contact c : this) {
            names[i++] = c.getName();
        }
        return TextUtils.join(separator, names);
    }
}

@@ -533,10 +533,714 @@
 ;%0A    %7D%0A
+    %0A    /**%0A     * Returns a ContactList for the corresponding recipient ids passed in. This method will%0A     * create the contact if it doesn't exist, and would inject the recipient id into the contact.%0A     */%0A    public static ContactList getByIds(String spaceSepIds, boolean canBlock) %7B%0A        ContactList list = new ContactList();%0A        for (RecipientIdCache.Entry entry : RecipientIdCache.getAddresses(spaceSepIds)) %7B%0A            if (entry != null && !TextUtils.isEmpty(entry.number)) %7B%0A                Contact contact = Contact.get(entry.number, canBlock);%0A                contact.setRecipientId(entry.id);%0A                list.add(contact);%0A            %7D%0A        %7D%0A        return list;%0A    %7D%0A
 %7D%0A

Add getByIds() for Conversation