public function specTask(Option $option)
    {
        $runner = $this->specHelper->getRunner();

        foreach ($option->getArgs() as $class) {
            $path = str_replace('\\', DS, $class);
            $dir = dirname($path);
            if ($dir == '.') $dir = '';

            try
            {
                $skeleton = $this->getSkeleton('Spec');

                $class_name = basename($path, '.php');
                $skeleton->assign('class', $class_name);

                $namespace = str_replace(DS, '\\', $dir);
                $skeleton->assign('namespace', $namespace ? $namespace . '\\' : '');

                $spec_file = $runner->getSpecFile($class);
                $spec_dir = $spec_file->getDirectory();
                $skeleton->assign('spec_namespace', $spec_file->getNameSpace());
                $skeleton->assign('spec_class', $spec_file->getClassName(false));
            
                if (! $spec_file->isExists() || $this->confirmation(['spec file(%s) is already exists. override ?', $spec_file]))
                {
                    $this->fileUtil->mkdirP($spec_dir);
                    $this->fileUtil->putContents($spec_file, $skeleton->render());
                    $this->sendMessage('created spec file. -> %s', $spec_file);
                    }
            }
            catch (NotFoundException $e)
            {
                $this->sendMessage('not found spec dir for %s', $class);
            }
        }
    }