BaseComputeService(ComputeServiceContext context,
                   Map<String,Credentials> credentialStore,
                   com.google.common.base.Supplier<Set<? extends Image>> images,
                   com.google.common.base.Supplier<Set<? extends Hardware>> hardwareProfiles,
                   com.google.common.base.Supplier<Set<? extends Location>> locations,
                   ListNodesStrategy listNodesStrategy,
                   GetNodeMetadataStrategy getNodeMetadataStrategy,
                   CreateNodesInGroupThenAddToSet runNodesAndAddToSetStrategy,
                   RebootNodeStrategy rebootNodeStrategy,
                   DestroyNodeStrategy destroyNodeStrategy,
                   ResumeNodeStrategy resumeNodeStrategy,
                   SuspendNodeStrategy suspendNodeStrategy,
                   javax.inject.Provider<TemplateBuilder> templateBuilderProvider,
                   javax.inject.Provider<TemplateOptions> templateOptionsProvider,
                   com.google.common.base.Predicate<NodeMetadata> nodeRunning,
                   com.google.common.base.Predicate<NodeMetadata> nodeTerminated,
                   com.google.common.base.Predicate<NodeMetadata> nodeSuspended,
                   InitializeRunScriptOnNodeOrPlaceInBadMap.Factory initScriptRunnerFactory,
                   ComputeServiceConstants.Timeouts timeouts,
                   ExecutorService executor)
 
            |