code: private <T> T getService( final Class<T> serviceType,
                                final long timeoutInMillis )
          throws NoSuchServiceException
      {
          LOG.info( "Look up service [" + serviceType.getName() + "], timeout in " + timeoutInMillis + " millis" );
          final ServiceReference ref = m_bundleContext.getServiceReference( serviceType.getName() );
          if( ref != null )
          {
              final Object service = m_bundleContext.getService( ref );
              if( service == null )
              {
                  throw new NoSuchServiceException( serviceType );
              }
              return (T) service;
          }
          else
          {
              throw new NoSuchServiceException( serviceType );
          }
      }
docs: Lookup a service in the service registry.
  
  @param serviceType     service class
  @param timeoutInMillis number of milliseconds to wait for service before failing
  TODO timeout is not used!
  
  @return a service published under the required service type
  
  @throws NoSuchServiceException - If service cannot be found in the service registry