The implementation of ExecutionPlanBuilder currently does not provide an option to "pre-satisfy" dependencies when building but always checks for the install state.
This comes with the following downsides:
- it is not possible to prebuild stacking execution plans that would be satisfied/valid when executed in sequence - as soon as the validation is being performed the second plan automatically spawns install tasks for the packages missing
- The tasks for missing dependencies are automatically created with PackageTask.Type.INSTALL even if all other tasks are EXTRACT tasks.
This improvement is about adding some kind of DependencyValidationHandler which allows controlling how to handle a "missing" dependency (default behavior right now is to check if already installed and add an install task if missing)