code: public ParamAssistInfo createParamAssistInfo(String prefix) throws ParseException {
          if (nextNamedParam.isPresent()) {
              // The last parsed value was a call-by-name (ended with '-{paramName}').
              // Have that named parameter auto-complete the prefix.
              final CliParam param = nextNamedParam.get();
              final AutoComplete autoComplete = param.autoComplete(prefix);
              final BoundParams boundParams = new BoundParams(parsedValues, nextNamedParam);
              return new ParamAssistInfo(boundParams, autoComplete);
          }
  
          final CliParam nextParam = getNextUnboundParam(prefix);
  
          // Check if 'prefix' starts with the named parameter call prefix.
          final AutoComplete autoComplete;
          if (prefix.startsWith(CliConstants.NAMED_PARAM_PREFIX)) {
              // Prefix starts with the named parameter call prefix.
              // Auto complete it with possible unbound parameter names.
              // TODO: Can also be a negative number... which cannot be auto-completed.
              final String paramNamePrefix = prefix.substring(1);
              autoComplete = autoCompleteParamName(paramNamePrefix);
          } else {
              // Prefix doesn't start with the named parameter call prefix.
              // Have the next unbound parameter auto complete it's value.
              autoComplete = nextParam.autoComplete(prefix);
          }
          final BoundParams boundParams = new BoundParams(parsedValues, Opt.of(nextParam));
          return new ParamAssistInfo(boundParams, autoComplete);
      }
docs: Create {@link ParamAssistInfo} out of this context's state (already parsed values, and parameters still needing
  to be parsed).
  In case the last argument parsed by the context was a call-by-name (ended with '-{paramName}'),
  the returned assist info will contain that parameter's auto complete.
  Otherwise, if the given prefix starts with '-' (call-by-name prefix), the returned assist info will contain
  suggestions for unbound parameter names.
  Otherwise the returned assist info will contain suggestions for values for the next unbound positional parameter.
  
  @param prefix Prefix to create assistance for.
  @return A {@link ParamAssistInfo} if the context managed to construct one according to the above rules.
  @throws ParseException If an error occurred, according to the above rules.