Добавление строк в Курсор вручную

У меня есть массив телефонных номеров, и я хочу получить соответствующие имена контактов из базы данных контактов.

В массиве телефонных номеров у меня также есть некоторые номера, которые ранее не сохранялись в базе данных контактов. Например;

3333333 -> Тим5555555 -> Джим1111111 -> неизвестно

У меня есть массив, содержащий номера телефонов, показанные выше, а именноphoneArr.

int size=phoneArr.size();
if(size>0){
        Cursor[] cursors=new Cursor[size];
        for(int i=0;i<size;i++){
            Uri contactUri1 = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneArr.get(i)));
            cursors[i] = getContentResolver().query(contactUri1, PEOPLE_PROJECTION, null, null, " _id asc limit 1");
        }
        Cursor phones=new MergeCursor(cursors);

phones.getCount () возвращает 2 в приведенном выше сценарии. Когда номер телефона не отображается в списке контактов, курсор становится пустым, и когда я их объединяю, он вообще ничего не вносит. То, что я хочу, это чтобы курсор был следующим

Курсорные телефоны -> {Тим, Джим, 1111111}

Я думаю, что могу сделать это, добавив строку вручную следующим образом:

Uri contactUri1 = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneArr.get(i)));
cursors[i] = getContentResolver().query(contactUri1, PEOPLE_PROJECTION, null, null, " _id asc limit 1");
if(cursors[i].getCount()==0)
    // add the phone number manually to the cursor

Как мне этого добиться?

Вот ЛЮДИ_ПРОЕКТА

private static final String[] PEOPLE_PROJECTION = new String[] {
    ContactsContract.PhoneLookup._ID,
    ContactsContract.PhoneLookup.DISPLAY_NAME,
    ContactsContract.PhoneLookup.NUMBER
};