public function splitDefinition(InputDefinition $definition)
    {
        /** @var InputDefinition[] $ret */
        $ret = array(
            new InputDefinition(),
            new InputDefinition()
        );

        foreach ($definition->getArguments() as $arg) {
            $ret[0]->addArgument($arg);
            $ret[1]->addArgument($arg);
        }
        foreach ($definition->getOptions() as $opt) {
            $ret[$this->isHiddenOption($opt) ? 1 : 0]->addOption($opt);
        }
        return $ret;
    }