/**
  * @inheritDoc
  */
 public function getItems(Query $query)
 {
     $config = $this->app->getConfig();
     // remove spaces from number
     $number = str_replace(' ', '', $query->getArgument());
     // item is only valid if a number is given
     $valid = $number ? true : false;
     // auto completion is only needed when no number is given
     $autoComplete = !$number ? $query->getCommandWithoutPrefix() : null;
     // only a valid number is callable ;-)
     if ($number && !preg_match('/^\\+?\\d+$/', $number)) {
         return array();
     }
     $items = array();
     foreach ($config['lines'] as $line) {
         // change subtitle whether a number is given or not
         if ($number) {
             $subtitle = sprintf('Calling "%s" with line "%s"', $number, $line['title']);
         } else {
             $subtitle = sprintf('Enter number to call with line "%s"', $line['title']);
         }
         // add new line item
         $items[] = new Item($line['title'], $subtitle, $line['icon'], sprintf('%s %s %s', $query->getCommand(), $number, $line['uri']), $autoComplete, $line['uri'], $valid);
     }
     return $items;
 }