code: public Component unregister(Provider provider) throws ProviderMissingException {
          return unregister(provider.type(), provider.getQualifier());
      }
docs: Unregister provider. If there is an overridden type registered already, only unregister the
  overridden binding. The original one will be unregistered if the this method is called
  again against to the type and qualifier associated with the provider.
  
  @param provider The provider that has the type and qualifier to unregister against
  @return this instance
  
  @throws ProviderMissingException Thrown when the provider with the given type and qualifier
  cannot be found under this component