protected function renderPreviewTable()
 {
     $out = '<div class="import-table-wrapper">';
     $out .= '<table class="grid import-preview">';
     $out .= '<tr><th></th>';
     $importFields = $this->getImportFields();
     foreach ($importFields as $field) {
         if ($field->isForImport()) {
             $out .= sprintf('<th%s>%s</th>', $field->isRequired() && !$field->isDefined() ? ' class="required"' : '', $field->getTitle());
         }
     }
     if ($this->session->importOptions['add_subscription']) {
         $importSubFields = $this->getImportFields(self::FIELD_TYPE_SUBSCRIPTION);
         foreach ($importSubFields as $field) {
             if ($field->isForImport()) {
                 $out .= sprintf('<th%s>%s</th>', $field->isRequired() && !$field->isDefined() ? ' class="required"' : '', $field->getTitle());
             }
         }
     }
     if ($this->session->importOptions['add_encrypted_pass']) {
         $importEncryptedFields = $this->getImportFields(self::FIELD_TYPE_ENCRYPTED_PASS);
         foreach ($importEncryptedFields as $field) {
             if ($field->isForImport()) {
                 $out .= sprintf('<th%s>%s</th>', $field->isRequired() && !$field->isDefined() ? ' class="required"' : '', $field->getTitle());
             }
         }
     }
     $out .= '</tr>';
     $linesParsed = $this->dataSource->getFirstLinesParsed(10);
     if ($this->session->importOptions['skip']) {
         unset($linesParsed[0]);
     }
     foreach ($linesParsed as $lineNum => $lineParsed) {
         $out .= '<tr class="data"><td>' . $lineNum . '</td>';
         $dummyUser = $this->getDi()->userRecord;
         foreach ($importFields as $field) {
             if ($field->isForImport()) {
                 $field->setValueForRecord($dummyUser, $lineParsed);
                 $out .= sprintf('<td>%s</td>', $field->getReadableValue($lineParsed, $dummyUser));
             }
         }
         if ($this->session->importOptions['add_subscription']) {
             $importSubFields = $this->getImportFields(self::FIELD_TYPE_SUBSCRIPTION);
             foreach ($importSubFields as $field) {
                 if ($field->isForImport()) {
                     $out .= sprintf('<td>%s</td>', $field->getReadableValue($lineParsed));
                 }
             }
         }
         if ($this->session->importOptions['add_encrypted_pass']) {
             $importPassFields = $this->getImportFields(self::FIELD_TYPE_ENCRYPTED_PASS);
             foreach ($importPassFields as $field) {
                 if ($field->isForImport()) {
                     $out .= sprintf('<td>%s</td>', $field->getReadableValue($lineParsed));
                 }
             }
         }
         $out .= '</tr>';
     }
     $out .= '</table>';
     $out .= '</div>';
     return $out;
 }