public JESProgressObject undeploy(Target[] targets, String moduleID, Map options) {
if(!isConnected()) {
throw new IllegalStateException(localStrings.getString("enterprise.deployment.client.disconnected_state"));
}
SunTarget[] targetList = getSunTargets(targets);
ProgressObjectImpl progressObject = new UndeployAction(targetList);
Object args[] = new Object[6];
args[0] = dasConnection;
args[1] = moduleID;
args[2] = (options == null) ? new HashMap() : DeploymentProperties.propsToMap((Properties)options);
args[3] = targetList;
args[4] = domain;
args[5] = localConnection;
progressObject.setCommand(CommandType.UNDEPLOY, args);
Thread newThread = new Thread(progressObject);
newThread.start();
return progressObject;
}