Fetch details on Querying realm via Android Sdk not working

public void searchUsers(User userModel, String searchName, CompletionUsers completionUsers) {
try {
if((searchName.isEmpty() && searchFull.isEmpty() && school.isEmpty() && company.isEmpty() && currentCity.isEmpty() && hometown.isEmpty())) {
completionUsers.onSuccess(new User[0]);
return;
} // if
RealmQuery query = realm
.where(User.class);
if(!searchName.isEmpty()) {
String firstName = searchName;
String lastName = searchName;
query = query.beginGroup();
query = query.beginGroup().contains(“firstname”, firstName, Case.INSENSITIVE)
.or().contains(“lastname”, lastName, Case.INSENSITIVE).endGroup();

```
            query = query.endGroup();
        }
        query = query.and().notEqualTo("_id", userModel._id);
        RealmResults<User> userModels = query.findAllAsync();
        userModels.addChangeListener(new RealmChangeListener<RealmResults<User>>() {
            @Override
            public void onChange(RealmResults<User> users) {
                if(userModels.isLoaded()) {
                    Vector<User> vector = new Vector();
                    RealmResults<User> results = userModels.sort("firstname", Sort.ASCENDING, "lastname", Sort.ASCENDING);
                    for (int i = 0; i < results.size(); i++) {
                        vector.add(results.get(i));
                    } // for
                    User[] result = new User[vector.size()];
                    vector.copyInto(result);
                    completionUsers.onSuccess(result);
                    userModels.removeAllChangeListeners();
                } // if
            }
        });
    }
    catch (Exception e) {
        e.printStackTrace();
        completionUsers.onFail(e.getMessage());
    }
}
```

and im call this as
RealmHelper.shared.searchUsers(GlobalService.shared.getMe(), !isSimple ? “” : simpleText, new RealmHelper.CompletionUsers() {
@Override
public void onSuccess(HPUser[] userRealm) {

}

});
simpleText is my searchtext