container/services/src/main/java/org/mobicents/slee/container/deployment/ConcreteSbbGenerator.java
protected void createGetChildRelationsMethod(
			Collection<GetChildRelationMethodDescriptor> childRelations) {
		if (childRelations == null)
			return;
		for (GetChildRelationMethodDescriptor childRelation : childRelations) {
			String methodName = childRelation.getChildRelationMethodName();
			CtMethod method = (CtMethod) abstractMethods.get(methodName);
			if (method == null) {
				method = (CtMethod) superClassesAbstractMethods.get(methodName);
			}
			if (method != null) {
				try {
					// copy method from abstract to concrete class
					CtMethod concreteMethod = CtNewMethod.copy(method,
							sbbConcreteClass, null);
					// create the method body
					String concreteMethodBody = "{ return "
							+ SbbAbstractMethodHandler.class.getName()
							+ ".getChildRelation(sbbEntity,\"" + methodName
							+ "\"); }";
					if (logger.isTraceEnabled()) {
			            logger.trace("Generated method " + methodName
								+ " , body = " + concreteMethodBody);
					}
					concreteMethod.setBody(concreteMethodBody);
					sbbConcreteClass.addMethod(concreteMethod);
				} catch (CannotCompileException cce) {
					throw new SLEEException("Cannot compile method "
							+ method.getName(), cce);
				}
			}
		}
	}
protected void createGetChildRelationsMethod(
			Collection<GetChildRelationMethodDescriptor> childRelations) {
		if (childRelations == null)
			return;
		for (GetChildRelationMethodDescriptor childRelation : childRelations) {
			String methodName = childRelation.getChildRelationMethodName();
			CtMethod method = (CtMethod) abstractMethods.get(methodName);
			if (method == null) {
				method = (CtMethod) superClassesAbstractMethods.get(methodName);
			}
			if (method != null) {
				try {
					// copy method from abstract to concrete class
					CtMethod concreteMethod = CtNewMethod.copy(method,
							sbbConcreteClass, null);
					// create the method body
					String concreteMethodBody = "{ return "
							+ SbbAbstractMethodHandler.class.getName()
							+ ".getChildRelation(sbbEntity,\"" + methodName
							+ "\"); }";
					if (logger.isTraceEnabled()) {
			            logger.trace("Generated method " + methodName
								+ " , body = " + concreteMethodBody);
					}
					concreteMethod.setBody(concreteMethodBody);
					sbbConcreteClass.addMethod(concreteMethod);
				} catch (CannotCompileException cce) {
					throw new SLEEException("Cannot compile method "
							+ method.getName(), cce);
				}
			}
		}
	}
Create the get child relation method (this method redirects the call to a
child relation interceptor)

@param childRelations
the childRelations method to add to the concrete class