AutoCompleteTextView excepción de poplulation sqlite

Mi primera publicación solo tenía menos de la mitad de mi texto, por lo tanto, la segunda (completa) publicación.

Estoy trabajando en una aplicación de prueba que utiliza sqlite para completar dos AutoCompleteTextView que estoy usando marca y modelo de auto para la prueba

Autocompletar:

makeAutocomplete

modeloAutocompletar

La lista de makeAutocomplete se rellena desde una consulta de SQL y funciona bien

el segundo se rellena cuando se selecciona la marca

makeAutoComplete.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

            final String[] makeSelected = {arg0.getItemAtPosition(arg2).toString()};
            final String[] modelDeal = sqlDBModel.getAllModelFilter(makeSelected);
            ArrayAdapter<String> modelAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, modelDeal);
            initModelAutoComplete(modelAdapter);

        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });

initModelAutoCompleta Declaración

public void initModelAutoComplete(ArrayAdapter<String> adapter){


    //adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, list);
    modelAutoComplete.setAdapter(adapter);
    modelAutoComplete.setThreshold(1);
    modelAutoComplete.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3){
            arg0.getItemAtPosition(arg2);
        }
    });
}

Declaración de SQLiteModelSearch.getAllModelFilter

    public String[] getAllModelFilter(String[] vehiclemake){

    if(vehiclemake != null){

        Cursor cursor = this.sqliteDBInstance.query(DB_MAKEMODEL_TABLE,
                                                    new String[]{DB_COLUMN_MAKE, DB_COLUMN_MODEL},
                                                    DB_COLUMN_MAKE+"=?",
                                                    vehiclemake,
                                                    null,
                                                    null,
                                                    null,
                                                    null);


        if( cursor != null){
            String[] str = new String[cursor.getCount()];

            int i = 0;
            while(cursor.moveToNext()){
                str[i] = cursor.getString(cursor.getColumnIndex(DB_COLUMN_MODEL));
                i++;
            }
            return str;
        } else {
            Log.i("vehiclemake = ", "NULL");
            return new String[]{};
        }
    }

    return new String[]{};
}

LogCat

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en android.app.ActivityThread.main (ActivityThread.java:3683)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en java.lang.reflect.Method.invokeNative (Método nativo) 07-31 13: 00: 19.631: E / Android Runtime (1302): EXCEPCIÓN FATAL: principal

07-31 13: 00: 19.631: E / AndroidRuntime (1302): java.lang.NullPointerException

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en com.myapp.sqltest.database.SQLiteModelSearch.getAllModelFilter (SQLiteModelSearch.java:100)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en com.myapp.sqltest.activity.addVehicleActivity $ 2.onItemSelected (addVehicleActivity.java:62)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en android.widget.AdapterView.fireOnSelected (AdapterView.java:871)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en android.widget.AdapterView.access $ 200 (AdapterView.java:42)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en android.widget.AdapterView $ SelectionNotifier.run (AdapterView.java:837)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en android.os.Handler.handleCallback (Handler.java:587)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en android.os.Handler.dispatchMessage (Handler.java:92)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en android.os.Looper.loop (Looper.java:130)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en java.lang.reflect.Method.invoke (Method.java:507)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:839)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597)

07-31 13: 00: 19.631: E / AndroidRuntime (1302): en dalvik.system.NativeStart.main (Método nativo)

Puedo ver que la excepción está siendo lanzada a:

Cursor cursor = this.sqliteDBInstance.query(DB_MAKEMODEL_TABLE,
                                                    new String[]{DB_COLUMN_MAKE, DB_COLUMN_MODEL},
                                                    DB_COLUMN_MAKE+"=?",
                                                    vehiclemake,
                                                    null,
                                                    null,
                                                    null,
                                                    null);

pero no puedo decir por qué, he visto todas las variables que entran en las funciones y ninguna de ellas es nula.

Respuestas a la pregunta(2)

Su respuesta a la pregunta