private void addFcSubComponent$0(final org.objectweb.fractal.api.Component subComponent) throws org.objectweb.fractal.api.control.IllegalContentException, org.objectweb.fractal.api.control.IllegalLifeCycleException {
if (containsFcSubComponent(subComponent)) {
throw new org.objectweb.fractal.julia.control.content.ChainedIllegalContentException(null, weaveableC, subComponent, "Already a sub component");
}
org.objectweb.fractal.api.Component thisComponent;
try {
thisComponent = ((org.objectweb.fractal.api.Component) (weaveableC.getFcInterface("component")));
} catch (org.objectweb.fractal.api.NoSuchInterfaceException e) {
throw new org.objectweb.fractal.julia.control.content.ChainedIllegalContentException(e, weaveableC, subComponent, "Cannot check this operation");
}
if (subComponent.equals(thisComponent)) {
throw new org.objectweb.fractal.julia.control.content.ChainedIllegalContentException(null, weaveableC, subComponent, "A component cannot be a sub component of itself");
}
java.util.List allSubComponents = org.objectweb.fractal.julia.control.content.Util.getAllSubComponents(subComponent);
for (int i = 0; i < (allSubComponents.size()); ++i) {
if (allSubComponents.get(i).equals(thisComponent)) {
throw new org.objectweb.fractal.julia.control.content.ChainedIllegalContentException(null, weaveableC, subComponent, "Would create a cycle in the component hierarchy");
}
}
addFcSubComponent$1(subComponent);
}