Code Duplication    Length = 14-15 lines in 2 locations

src/Resolver/DefaultResolver.php 2 locations

@@ 76-89 (lines=14) @@
73
74
        // Parse the arguments for command names until we fail to find a
75
        // matching command
76
        foreach ($argumentsToTest as $name) {
77
            if (!$namedCommands->contains($name)) {
78
                break;
79
            }
80
81
            $nextCommand = $namedCommands->get($name);
82
83
            if ($nextCommand->getConfig() instanceof OptionCommandConfig) {
84
                break;
85
            }
86
87
            $currentCommand = $nextCommand;
88
            $namedCommands = $currentCommand->getNamedSubCommands();
89
        }
90
91
        if (!$currentCommand) {
92
            return null;
@@ 107-121 (lines=15) @@
104
     */
105
    private function processOptions(RawArgs $args, Command $currentCommand, array $optionsToTest)
106
    {
107
        foreach ($optionsToTest as $option) {
108
            $commands = $currentCommand->getNamedSubCommands();
109
110
            if (!$commands->contains($option)) {
111
                continue;
112
            }
113
114
            $nextCommand = $commands->get($option);
115
116
            if (!$nextCommand->getConfig() instanceof OptionCommandConfig) {
117
                break;
118
            }
119
120
            $currentCommand = $nextCommand;
121
        }
122
123
        return $this->processDefaultSubCommands($args, $currentCommand);
124
    }