How to retrieve tasks efficiently when constrained by value list?

I want to supply a list of string Id values and create a task query that returns all active tasks wherein, every value is reflected in the process variable of the Returned task list. at the moment I have the following code:

        try {
            return bdoIds.stream().map(objId -> taskService.createTaskQuery().active()
                    .processVariableValueEquals("businessDomainObjectId", objId).includeProcessVariables().singleResult())
                    .collect(Collectors.toList());
        }
        catch (Exception ge){
            ge.printStackTrace()
            return Collections.emptyList();
        }
    }

Which seems terribly inefficient and will not scale very well at all.
Can this be refactored such that I’m not executing a task query for every id?

I don’t see anything like a processVariableValueIn() method, I’m afraid you may be stuck with taskService.createNativeTaskQuery() for this one.