title: OSGi console "ls -c": References are bound although there is no provider
body: <p>While debugging service binding issues, I called the command <code>ls -c</code> (or equivalent <code>list -c</code>) and got the following output for my component:</p>
  
  <pre><code>21      Component[
          name = org.example.myproject.repo
          activate = activate
          deactivate = deactivate
          modified =
          configuration-policy = optional
          factory = null
          autoenable = true
          immediate = true
          implementation = org.example.myproject.RepositoryServiceHandler
          state = Unsatisfied
          properties =
          serviceFactory = false
          serviceInterface = null
          references = {
                  Reference[name = Repository, interface = org.example.core.repository.api.Repository, policy = static, cardinality = 1..1, target = null, bind = bindRepository, unbind = unbindRepository]
                  Reference[name = IRepositoryClient, interface = org.example.core.repository.client.RepositoryClient, policy = static, cardinality = 1..1, target = null, bind = bindRepositoryClient, unbind = unbindRepositoryClient]
          }
          located in bundle = org.example.myproject_0.20.1348.3 [30]
  ]
  Dynamic information :
    The component is satisfied
    All component references are satisfied
    Component configurations :
      Configuration properties:
        component.name = org.example.myproject.repo
        component.id = 34
      Instances:
        org.eclipse.equinox.internal.ds.impl.ComponentInstanceImpl@75b98b5a
          Bound References:
          String[org.example.core.repository.client.RepositoryClient]
                  -&gt; org.example.core.repository.client.impl.RepositoryClientImpl@67680c91
          String[org.example.core.repository.api.Repository]
                  -&gt; org.example.core.repository.api.impl.RepositoryImpl@1c27ecd6
  </code></pre>
  
  <p>I wanted to find the bundle that provides the interface <code>org.example.core.repository.client.RepositoryClient</code> and therefore searched the complete output of <code>ls -c</code>. To my surprise, there were no other occurrences (i.e. only the two references in my component).</p>
  
  <p>How is it possible that there is no provider, but the service is still bound? Shouldn't there be a provider component with <code>serviceInterface = org.example.core.repository.client.RepositoryClient</code>?</p>