public void handleBeforeDeploy(@Observes BeforeDeploy event, Container container) throws Throwable {
List<ManagedSetupTask> setupTasks = getSetupTasks();
if (!setupTasks.isEmpty()) {
ClassContext classContext = classContextInstance.get();
ObjectStore suiteStore = suiteContextInstance.get().getObjectStore();
ObjectStore classStore = classContext.getObjectStore();
MBeanServerConnection server = mbeanServerInstance.get();
Map<String, String> props = container.getContainerConfiguration().getContainerProperties();
ManagedSetupContext context = new ManagedSetupContext(suiteStore, classStore, server, props);
for (ManagedSetupTask task : setupTasks) {
task.beforeDeploy(context);