return new MatrixParamInjector(parameter.getType(), parameter.getGenericType(), parameter.getAccessibleObject(), parameter.getParamName(), parameter.getDefaultValue(), parameter.isEncoded(), parameter.getAnnotations(), providerFactory); case SUSPEND: return new SuspendInjector(parameter.getSuspendTimeout(), parameter.getType()); case CONTEXT: return new ContextParameterInjector(null, parameter.getType(), providerFactory);