public javax.slee.management.SbbDescriptor getSpecsDescriptor() {
		if (specsDescriptor == null) {

			final LibraryID[] libraryIDs = descriptor.getLibraryRefs().toArray(new LibraryID[descriptor.getLibraryRefs().size()]);

			Set<SbbID> sbbIDSet = new HashSet<SbbID>();
			for (SbbRefDescriptor mSbbRef : descriptor.getSbbRefs()) {
				sbbIDSet.add(mSbbRef.getComponentID());
			}
			SbbID[] sbbIDs = sbbIDSet.toArray(new SbbID[sbbIDSet.size()]);

			Set<ProfileSpecificationID> profileSpecSet = new HashSet<ProfileSpecificationID>();
			for (ProfileSpecRefDescriptor mProfileSpecRef : descriptor.getProfileSpecRefs()) {
				profileSpecSet.add(mProfileSpecRef.getComponentID());
			}
			ProfileSpecificationID[] profileSpecs = profileSpecSet.toArray(new ProfileSpecificationID[profileSpecSet.size()]);

			Set<EventTypeID> eventTypeSet = new HashSet<EventTypeID>();
			for (EventEntryDescriptor mEventEntry : descriptor.getEventEntries().values()) {
				eventTypeSet.add(mEventEntry.getEventReference());
			}
			EventTypeID[] eventTypes = eventTypeSet.toArray(new EventTypeID[eventTypeSet.size()]);

			Set<ResourceAdaptorTypeID> raTypeIDSet = new HashSet<ResourceAdaptorTypeID>();
			Set<String> raLinksSet = new HashSet<String>();
			for (ResourceAdaptorTypeBindingDescriptor mResourceAdaptorTypeBinding : descriptor.getResourceAdaptorTypeBindings()) {
				raTypeIDSet.add(mResourceAdaptorTypeBinding.getResourceAdaptorTypeRef());
				for (ResourceAdaptorEntityBindingDescriptor mResourceAdaptorEntityBinding : mResourceAdaptorTypeBinding.getResourceAdaptorEntityBinding()) {
					raLinksSet.add(mResourceAdaptorEntityBinding.getResourceAdaptorEntityLink());
				}
			}
			ResourceAdaptorTypeID[] raTypeIDs = raTypeIDSet.toArray(new ResourceAdaptorTypeID[raTypeIDSet.size()]);
			String[] raLinks = raLinksSet.toArray(new String[raLinksSet.size()]);

			specsDescriptor = new javax.slee.management.SbbDescriptor(getSbbID(), getDeployableUnit().getDeployableUnitID(), getDeploymentUnitSource(), libraryIDs, sbbIDs, eventTypes, profileSpecs, 
					descriptor.getAddressProfileSpecRef(), raTypeIDs, raLinks);
		}
		return specsDescriptor;
	}
public javax . slee . management . SbbDescriptor getSpecsDescriptor ( ) { if ( specsDescriptor == null ) { final LibraryID [ ] libraryIDs = descriptor . getLibraryRefs ( ) . toArray ( new LibraryID [ descriptor . getLibraryRefs ( ) . size ( ) ] ) ; Set < SbbID > sbbIDSet = new HashSet < SbbID > ( ) ; for ( SbbRefDescriptor mSbbRef : descriptor . getSbbRefs ( ) ) { sbbIDSet . add ( mSbbRef . getComponentID ( ) ) ; } SbbID [ ] sbbIDs = sbbIDSet . toArray ( new SbbID [ sbbIDSet . size ( ) ] ) ; Set < ProfileSpecificationID > profileSpecSet = new HashSet < ProfileSpecificationID > ( ) ; for ( ProfileSpecRefDescriptor mProfileSpecRef : descriptor . getProfileSpecRefs ( ) ) { profileSpecSet . add ( mProfileSpecRef . getComponentID ( ) ) ; } ProfileSpecificationID [ ] profileSpecs = profileSpecSet . toArray ( new ProfileSpecificationID [ profileSpecSet . size ( ) ] ) ; Set < EventTypeID > eventTypeSet = new HashSet < EventTypeID > ( ) ; for ( EventEntryDescriptor mEventEntry : descriptor . getEventEntries ( ) . values ( ) ) { eventTypeSet . add ( mEventEntry . getEventReference ( ) ) ; } EventTypeID [ ] eventTypes = eventTypeSet . toArray ( new EventTypeID [ eventTypeSet . size ( ) ] ) ; Set < ResourceAdaptorTypeID > raTypeIDSet = new HashSet < ResourceAdaptorTypeID > ( ) ; Set < String > raLinksSet = new HashSet < String > ( ) ; for ( ResourceAdaptorTypeBindingDescriptor mResourceAdaptorTypeBinding : descriptor . getResourceAdaptorTypeBindings ( ) ) { raTypeIDSet . add ( mResourceAdaptorTypeBinding . getResourceAdaptorTypeRef ( ) ) ; for ( ResourceAdaptorEntityBindingDescriptor mResourceAdaptorEntityBinding : mResourceAdaptorTypeBinding . getResourceAdaptorEntityBinding ( ) ) { raLinksSet . add ( mResourceAdaptorEntityBinding . getResourceAdaptorEntityLink ( ) ) ; } } ResourceAdaptorTypeID [ ] raTypeIDs = raTypeIDSet . toArray ( new ResourceAdaptorTypeID [ raTypeIDSet . size ( ) ] ) ; String [ ] raLinks = raLinksSet . toArray ( new String [ raLinksSet . size ( ) ] ) ; specsDescriptor = new javax . slee . management . SbbDescriptor ( getSbbID ( ) , getDeployableUnit ( ) . getDeployableUnitID ( ) , getDeploymentUnitSource ( ) , libraryIDs , sbbIDs , eventTypes , profileSpecs , descriptor . getAddressProfileSpecRef ( ) , raTypeIDs , raLinks ) ; } return specsDescriptor ; }
Retrieves the JAIN SLEE specs descriptor

@return