container/services/src/main/java/org/mobicents/slee/runtime/sbbentity/SbbEntityImpl.java
public SbbID getSbbId() {
		if (_sbbID == null) {
			ServiceComponent serviceComponent = sleeContainer.getComponentRepository().getComponentByID(getServiceId());
			SbbComponent sbbComponent = null;
			if (sbbeId.isRootSbbEntity()) {
				_sbbID = serviceComponent.getRootSbbComponent().getSbbID();
			}
			else {
				// put chain of parent sbb entity ids in a stack 
				final LinkedList<SbbEntityID> stack = new LinkedList<SbbEntityID>();
				SbbEntityID sbbEntityID = sbbeId.getParentSBBEntityID();
				while(!sbbEntityID.isRootSbbEntity()) {
					stack.push(sbbEntityID);
					sbbEntityID = sbbEntityID.getParentSBBEntityID();
				}
				// now find out the sbb component of the parent
				sbbComponent = serviceComponent.getRootSbbComponent();
				GetChildRelationMethodDescriptor getChildRelationMethodDescriptor = null;
				while(!stack.isEmpty()) {
					sbbEntityID = stack.pop();
					getChildRelationMethodDescriptor = sbbComponent.getDescriptor().getGetChildRelationMethodsMap().get(sbbEntityID.getParentChildRelation());
					sbbComponent = sleeContainer.getComponentRepository().getComponentByID(getChildRelationMethodDescriptor.getSbbID());
				}
				getChildRelationMethodDescriptor = sbbComponent.getDescriptor().getGetChildRelationMethodsMap().get(sbbeId.getParentChildRelation());
				_sbbID = getChildRelationMethodDescriptor.getSbbID();				
			}
		}
		return _sbbID;
	}
public SbbID getSbbId() {
		if (_sbbID == null) {
			ServiceComponent serviceComponent = sleeContainer.getComponentRepository().getComponentByID(getServiceId());
			SbbComponent sbbComponent = null;
			if (sbbeId.isRootSbbEntity()) {
				_sbbID = serviceComponent.getRootSbbComponent().getSbbID();
			}
			else {
				// put chain of parent sbb entity ids in a stack 
				final LinkedList<SbbEntityID> stack = new LinkedList<SbbEntityID>();
				SbbEntityID sbbEntityID = sbbeId.getParentSBBEntityID();
				while(!sbbEntityID.isRootSbbEntity()) {
					stack.push(sbbEntityID);
					sbbEntityID = sbbEntityID.getParentSBBEntityID();
				}
				// now find out the sbb component of the parent
				sbbComponent = serviceComponent.getRootSbbComponent();
				GetChildRelationMethodDescriptor getChildRelationMethodDescriptor = null;
				while(!stack.isEmpty()) {
					sbbEntityID = stack.pop();
					getChildRelationMethodDescriptor = sbbComponent.getDescriptor().getGetChildRelationMethodsMap().get(sbbEntityID.getParentChildRelation());
					sbbComponent = sleeContainer.getComponentRepository().getComponentByID(getChildRelationMethodDescriptor.getSbbID());
				}
				getChildRelationMethodDescriptor = sbbComponent.getDescriptor().getGetChildRelationMethodsMap().get(sbbeId.getParentChildRelation());
				_sbbID = getChildRelationMethodDescriptor.getSbbID();				
			}
		}
		return _sbbID;
	}
/*
(non-Javadoc)
@see org.mobicents.slee.runtime.sbbentity.SbbEntity#getSbbId()