Take subtasks into account when deciding to provision new nodes

My use case is about jobs that span multiple nodes, for distributed testing. With this purpose I extended heavy-job-plugin and installed jclouds-plugin to be able to spin up new slaves as needed. 

The only problem is that Jenkins doesn't take subtasks into account when checking if there's a need to spin up new slaves. So when I have a build with 2 subtasks in the queue and 1 available executor, nothing happens as the job can't start and Jenkins doesn't see that there's a need for an additional executor. 

I'm proposing to take subtasks into account. Per my understanding of the code it shouldn't have any downsides. The modified version is working well for me currently.