class JarFilesPathConverter implements Converter<String[]> {

  @Override
  public boolean getAllPossibleValues(List<Completion> completions, Class<?> targetType,
      String existingData, String optionContext, MethodTarget target) {
    // remove anything before ,
    int comma = existingData.lastIndexOf(',') + 1;
    String otherJars = existingData.substring(0, comma);
    existingData = existingData.substring(comma);
    List<Completion> allCompletions = new ArrayList<>();
    delegate.getAllPossibleValues(allCompletions, targetType, existingData, optionContext, target);
    completions.addAll(allCompletions.stream()
        .map(Completion::getValue)
        .filter(JarFilesPathConverter::isDirOrJar)
        .map(s -> new Completion(otherJars + s))
        .collect(Collectors.toList()));
    return allAreJars(completions);
  }

  public  JarFilesPathConverter();

}