code: protected Object[] getParameterValues(Object specialVal, BeanManagerImpl manager, CreationalContext<?> ctx, CreationalContext<?> transientReferenceContext) {
          if (getInjectionPoints().isEmpty()) {
              if (specialInjectionPointIndex == -1) {
                  return Arrays2.EMPTY_ARRAY;
              } else {
                  return new Object[] { specialVal };
              }
          }
          Object[] parameterValues = new Object[getParameterInjectionPoints().size()];
          List<ParameterInjectionPoint<?, X>> parameters = getParameterInjectionPoints();
          for (int i = 0; i < parameterValues.length; i++) {
              ParameterInjectionPoint<?, ?> param = parameters.get(i);
              if (i == specialInjectionPointIndex) {
                  parameterValues[i] = specialVal;
              } else if (hasTransientReferenceParameter && param.getAnnotated().isAnnotationPresent(TransientReference.class)) {
                  parameterValues[i] = param.getValueToInject(manager, transientReferenceContext);
              } else {
                  parameterValues[i] = param.getValueToInject(manager, ctx);
              }
          }
          return parameterValues;
      }
docs: Helper method for getting the current parameter values from a list of annotated parameters.
  
  @param parameters The list of annotated parameter to look up
  @param manager The Bean manager
  @return The object array of looked up values