protected function _createOptionsFromPublic(\ReflectionClass $class)
  {
    $properties = $class->getProperties(\ReflectionProperty::IS_PUBLIC);
    if(empty($properties))
    {
      return null;
    }
    foreach($properties as $property)
    {
      $propBlock = new DocBlockParser($property->getDocComment());
      $short = null;
      $description = $propBlock->getSummary();
      $mode = InputOption::VALUE_OPTIONAL;
      if($propBlock->hasTag('short'))
      {
        $short = $propBlock->getTag('short');
      }
      if($propBlock->hasTag('description'))
      {
        $description = $propBlock->getTag('description');
      }
      if($propBlock->hasTag('valuerequired'))
      {
        $mode = InputOption::VALUE_REQUIRED;
      }
      if($propBlock->hasTag('flag'))
      {
        $mode = InputOption::VALUE_NONE;
      }
      $this->addOption($property->name, $short, $mode, $description, $property->getValue($this));
    }
    return null;
  }