in taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/iterationstrategy/CrossProduct.java [59:95]
public void setParent(IterationStrategyParent newParent) {
if (parent == newParent)
return;
if (parent != null) {
// Remove from old parent
if (parent instanceof IterationStrategyStack) {
IterationStrategyStack stack = (IterationStrategyStack) parent;
stack.remove(this);
} else if (parent instanceof DotProduct
|| parent instanceof CrossProduct) {
@SuppressWarnings("unchecked")
List<IterationStrategyNode> parentList = (List<IterationStrategyNode>) parent;
parentList.remove(this);
} else
throw new IllegalArgumentException(
"Old parent must be a IterationStrategy, DotProduct or CrossProduct: "
+ parent);
}
parent = newParent;
if (parent instanceof IterationStrategyStack) {
IterationStrategyStack stack = (IterationStrategyStack) parent;
if (!stack.contains(this))
stack.add(this);
} else if (parent instanceof DotProduct
|| parent instanceof CrossProduct) {
@SuppressWarnings("unchecked")
List<IterationStrategyNode> parentList = (List<IterationStrategyNode>) parent;
if (!parentList.contains(this))
parentList.add(this);
} else
throw new IllegalArgumentException(
"Parent must be a IterationStrategy, DotProduct or CrossProduct: "
+ parent);
}