throws InvalidDataException {
try {
ProcessData pd = new DefaultProcessData ();
Set items = new HashSet (result.keySet());
for (int i = 0; i < fps.length; i++) {
FormalParameter fp = fps[i];
if (fp.mode() == FormalParameter.Mode.IN) {
continue;
}
Object actParam = actualParameters()[i];
if (!result.containsKey(fp.id())) {
throw new InvalidDataException
("Result does not include out parameter \""
+ fp.id() + "\".");
}
pd.put (actParam, result.get(fp.id()));
items.remove (fp.id());
}
if (items.size() > 0) {
Iterator itr = items.iterator();
throw new InvalidDataException
("Result includes excessive parameter \""