+ if (preset != null)
+ {
+ if (preset instanceof JabaPreset)
+ {
+ this.preset = ((JabaPreset) preset).p;
+ }
+ else if (preset instanceof JabaWsParamSet)
+ {
+ List<Argument> newargs = new ArrayList<Argument>();
+ JabaWsParamSet pset = ((JabaWsParamSet) preset);
+ for (Option opt : pset.getjabaArguments())
+ {
+ newargs.add(opt);
+ }
+ if (arguments != null && arguments.size() > 0)
+ {
+ // merge arguments with preset's own arguments.
+ for (Argument opt : arguments)
+ {
+ newargs.add(opt);
+ }
+ }
+ paramset = newargs;
+ }
+ else
+ {
+ throw new Error(
+ "Implementation error: Can only instantiate Jaba parameter sets.");
+ }
+ }
+ else
+ {
+ // just provided with a bunch of arguments
+ this.paramset = arguments;
+ }