code: private void startBundle( final Bundle bundle )
          throws BundleException
      {
          // Don't start if bundle already active
          int bundleState = bundle.getState();
          if( bundleState == Bundle.ACTIVE )
          {
              return;
          }
  
          // Don't start if bundle is a fragment bundle
          Dictionary bundleHeaders = bundle.getHeaders();
          if( bundleHeaders.get( Constants.FRAGMENT_HOST ) != null )
          {
              return;
          }
  
          // Start bundle
          bundle.start();
  
          bundleState = bundle.getState();
          if( bundleState != Bundle.ACTIVE )
          {
              long bundleId = bundle.getBundleId();
              String bundleName = bundle.getSymbolicName();
              String bundleStateStr = bundleStateToString( bundleState );
              throw new BundleException(
                  "Bundle (" + bundleId + ", " + bundleName + ") not started (still " + bundleStateStr + ")"
              );
          }
      }
docs: Starts a bundle.
  
  @param bundle bundle to be started
  
  @throws BundleException - If bundle cannot be started