public static function getConfigurationByConfigFileAndCommandOptionsAndArguments($configFile, InputExtendedInterface $input)
    {
        if ($input->isOptionSet('config-file') === true) {
            $configuration = self::getConfigurationByConfigFile($configFile);
        } else {
            $configuration = new Configuration();
        }

        $configuration = self::mergeCommandOptionsIntoConfiguration($configuration, $input);
        $configuration = self::mergeCommandArgumentsIntoConfiguration($configuration, $input);

        return $configuration;
    }