code: private boolean injectConstructorHasMatchingParams(TypeLiteral<?> type,
        Constructor<?> constructor, List<Key<?>> paramList, Errors errors) throws ErrorsException {
      List<TypeLiteral<?>> params = type.getParameterTypes(constructor);
      Annotation[][] paramAnnotations = constructor.getParameterAnnotations();
      int p = 0;
      for (TypeLiteral<?> param : params) {
        Key<?> paramKey = getKey(param, constructor, paramAnnotations[p++], errors);
        if (paramKey.getAnnotationType() == Assisted.class && !paramList.contains(paramKey)) {
          return false;
        }
      }
  
      return true;
    }
docs: Matching logic for {@literal @}{@link Inject} constructor and method
  parameters.
  
  This returns true if all assisted parameters required by the constructor
  are provided by the factory method.