@Override public void destroy(Container container) { CreateContainerMetadata metadata = container.getMetadata(); if (!(metadata instanceof CreateSshContainerMetadata)) { throw new IllegalStateException("Container doesn't have valid create container metadata type"); } else { CreateSshContainerMetadata sshContainerMetadata = (CreateSshContainerMetadata) metadata; CreateSshContainerOptions options = sshContainerMetadata.getCreateOptions(); Session session = null; try { String script = buildUninstallScript(container.getId(), options); session = createSession(options); runScriptOnHost(session, script); } catch (Throwable t) { LOGGER.error("Failed to stop container: " + container.getId(), t); } finally { if (session != null) { session.disconnect(); } } } }