code: public Component unregister(Object providerHolder) throws ProviderMissingException {
          Method[] methods = providerHolder.getClass().getDeclaredMethods();
          for (Method method : methods) {
              if (method.isAnnotationPresent(Provides.class)) {
                  Class<?> returnType = method.getReturnType();
                  if (returnType != void.class) {
                      Annotation qualifier = null;
                      Annotation[] annotations = method.getAnnotations();
                      for (Annotation a : annotations) {
                          if (a.annotationType().isAnnotationPresent(Qualifier.class)) {
                              qualifier = a;
                              break;
                          }
                      }
  
                      unregister(returnType, qualifier);
                  }
              }
          }
          return this;
      }
docs: Unregister component where methods annotated by {@link Provides} will be registered as
  injection providers.
  
  @param providerHolder The object with methods marked by {@link Provides} to provide injectable
  instances
  @return this instance
  
  @throws ProviderMissingException Thrown when the any provider in the provider holder with
  the given type and qualifier cannot be found under this component