/**
  * @param InputDefinition $inputDefinition
  * @param InputInterface  $input
  */
 public function init(InputDefinition $inputDefinition, InputInterface $input)
 {
     $options = new ProcessOptionCollection();
     foreach ($inputDefinition->getOptions() as $optionName => $inputOption) {
         $optionValue = $input->getOption($optionName);
         if ($inputOption->getDefault() != $optionValue) {
             switch (true) {
                 case in_array($optionName, $this->skipOptions):
                     $option = null;
                     break;
                 case $inputOption->isArray() && $optionName == 'out':
                     $option = new ProcessOptionOut($optionName, $optionValue);
                     break;
                 case $inputOption->isArray():
                     $option = new ProcessOptionArray($optionName, $optionValue);
                     break;
                 case $inputOption->isValueRequired():
                 case $inputOption->isValueOptional():
                     $option = new ProcessOptionScalar($optionName, $optionValue);
                     break;
                 default:
                     $option = new ProcessOption($optionName);
             }
             if ($option) {
                 $options->set($option);
             }
         }
     }
     $this->optionCollection = $options;
 }
 /**
  * @param ProcessOptionInterface $option
  */
 public function setProcessOption(ProcessOptionInterface $option)
 {
     $this->optionCollection->set($option);
 }