private Object[] resolveParameters(Executable executable,Optional<Object> target,Object outerInstance,ExtensionContext extensionContext,ExtensionRegistry extensionRegistry){
  Preconditions.notNull(target,"target must not be null");
  Parameter[] parameters=executable.getParameters();
  Object[] values=new Object[parameters.length];
  int start=0;
  if (outerInstance != null) {
    values[0]=outerInstance;
    start=1;
  }
  for (int i=start; i < parameters.length; i++) {
    ParameterContext parameterContext=new DefaultParameterContext(parameters[i],i,target);
    values[i]=resolveParameter(parameterContext,executable,extensionContext,extensionRegistry);
  }
  return values;
}

private Object [ ] resolveParameters ( Executable executable , Optional < Object > target , Object outerInstance , ExtensionContext extensionContext , ExtensionRegistry extensionRegistry ) { Preconditions . notNull ( target , "target must not be null" ) ; Parameter [ ] parameters = executable . getParameters ( ) ; Object [ ] values = new Object [ parameters . length ] ; int start = 0 ; if ( outerInstance != null ) { values [ 0 ] = outerInstance ; start = 1 ; } for ( int i = start ; i < parameters . length ; i ++ ) { ParameterContext parameterContext = new DefaultParameterContext ( parameters [ i ] , i , target ) ; values [ i ] = resolveParameter ( parameterContext , executable , extensionContext , extensionRegistry ) ; } return values ; }
resolve the array of parameters for the supplied executable , target , and outer instance .
