container/services/src/main/java/org/mobicents/slee/container/deployment/ConcreteSbbGenerator.java
private void generateAbstractSbbClassInfo() {

		CtClass sbbClass = null;
		try {
			sbbClass = pool.get(Sbb.class.getName());
		} catch (NotFoundException e) {
			throw new SLEEException(e.getMessage(), e);
		}

		AbstractSbbClassInfo abstractSbbClassInfo = sbbComponent.getAbstractSbbClassInfo();

		for (CtMethod sbbClassMethod : sbbClass.getDeclaredMethods()) {
			for (CtMethod sbbAbstractClassMethod : sbbAbstractClass
					.getMethods()) {
				if (sbbAbstractClassMethod.getName().equals(
						sbbClassMethod.getName())
						&& sbbAbstractClassMethod.getSignature().equals(
								sbbClassMethod.getSignature())) {
					// match, save info
					abstractSbbClassInfo.setInvokeInfo(sbbAbstractClassMethod
							.getMethodInfo().getName(), !sbbAbstractClassMethod
							.isEmpty());
					break;
				}
			}
		}


	}
private void generateAbstractSbbClassInfo() {

		CtClass sbbClass = null;
		try {
			sbbClass = pool.get(Sbb.class.getName());
		} catch (NotFoundException e) {
			throw new SLEEException(e.getMessage(), e);
		}

		AbstractSbbClassInfo abstractSbbClassInfo = sbbComponent.getAbstractSbbClassInfo();

		for (CtMethod sbbClassMethod : sbbClass.getDeclaredMethods()) {
			for (CtMethod sbbAbstractClassMethod : sbbAbstractClass
					.getMethods()) {
				if (sbbAbstractClassMethod.getName().equals(
						sbbClassMethod.getName())
						&& sbbAbstractClassMethod.getSignature().equals(
								sbbClassMethod.getSignature())) {
					// match, save info
					abstractSbbClassInfo.setInvokeInfo(sbbAbstractClassMethod
							.getMethodInfo().getName(), !sbbAbstractClassMethod
							.isEmpty());
					break;
				}
			}
		}


	}
Generates info that indicates if a method from {@link Sbb} interface
should be invoked or not, in runtime.