protected function getRenamedFieldsMapping(array $potentialNewFields, array $potentialDeletedFields)
 {
     $renamedFieldsMapping = array();
     if (count($potentialNewFields) && count($potentialDeletedFields)) {
         $deletedFields = $potentialDeletedFields;
         foreach ($potentialNewFields as $potentialNewField) {
             if (!count($potentialDeletedFields)) {
                 break;
             }
             // array_values is to reset the keys
             $potentialRenamedFields = array_values($potentialDeletedFields);
             $questionChoices = array_merge(array('none of them'), $potentialRenamedFields);
             // @201004142017
             $question = "Please make your choice for answering this question \n";
             $question .= "Is {$this->tableName}.{$potentialNewField} a renamed version of:";
             $answer = Nextgen_Core_UserInteraction::askQuestionWithChoices($question, $questionChoices);
             // -1 because of the line @201004142017
             if (array_key_exists($answer - 1, $potentialRenamedFields)) {
                 $renamedFieldsMapping[$potentialRenamedFields[$answer - 1]] = $potentialNewField;
                 Nextgen_Utils::removeElementFromArray($potentialRenamedFields[$answer - 1], $potentialDeletedFields);
             }
         }
     }
     return $renamedFieldsMapping;
 }
 private function getRenamedTablesMapping(array $potentialNewTables, array $potentialDeletedTables)
 {
     $renamedTablesMapping = array();
     if (count($potentialNewTables) && count($potentialDeletedTables)) {
         $deletedTables = $potentialDeletedTables;
         foreach ($potentialNewTables as $potentialNewTable) {
             if (!count($potentialDeletedTables)) {
                 break;
             }
             $potentialRenamedTablesWithScore = array();
             foreach ($potentialDeletedTables as $potentialDeletedTable) {
                 $score = $this->db2->getTable($potentialNewTable)->getSimilarityScore($this->db1->getTable($potentialDeletedTable));
                 $potentialRenamedTablesWithScore[$score] = $potentialDeletedTable;
             }
             ksort($potentialRenamedTablesWithScore);
             $potentialRenamedTablesSorted = array_values($potentialRenamedTablesWithScore);
             $questionChoices = array_merge(array('none of them'), $potentialRenamedTablesSorted);
             // @201004142017
             $question = "Please make your choice for answering this question \n";
             $question .= "Is {$potentialNewTable} a renamed version of:";
             $answer = Nextgen_Core_UserInteraction::askQuestionWithChoices($question, $questionChoices);
             // -1 because of the line @201004142017
             if (array_key_exists($answer - 1, $potentialRenamedTablesSorted)) {
                 $renamedTablesMapping[$potentialRenamedTablesSorted[$answer - 1]] = $potentialNewTable;
                 Nextgen_Utils::removeElementFromArray($potentialRenamedTablesSorted[$answer - 1], $potentialDeletedTables);
             }
         }
     }
     return $renamedTablesMapping;
 }