    public void checkConnection(UrlArgument repoUrl) {
        final String ref = fullUpstreamRef();
        final CommandLine commandLine = git().withArgs("ls-remote").withArg(repoUrl).withArg(ref);
        final ConsoleResult result = commandLine.runOrBomb(new NamedProcessTag(repoUrl.forDisplay()));

        if (!hasExactlyOneMatchingBranch(result)) {
            throw new CommandLineException(format("The ref %s could not be found.", ref));
        }
    }
The software constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component.