private function createNewRecord($dataObjectClassName, $dataObjectFieldName, $fileClassName, $connectionType)
 {
     //exceptions....
     if (in_array($dataObjectClassName, $this->Config()->get("excluded_classes")) || in_array($fileClassName, $this->Config()->get("excluded_classes"))) {
         return;
     }
     if ($dataObjectFieldName == "ImageTracking" || $dataObjectFieldName == "BackLinkTracking") {
         return;
     }
     //at least one of them is a file...
     if (in_array($dataObjectClassName, $this->Config()->get("file_classes")) || in_array($fileClassName, $this->Config()->get("file_classes"))) {
         if (!DB::query("\n\t\t\t\tSELECT COUNT(*)\n\t\t\t\tFROM \"MetaTagCMSControlFileUse\"\n\t\t\t\tWHERE \"DataObjectClassName\" = '{$dataObjectClassName}' AND  \"DataObjectFieldName\" = '{$dataObjectFieldName}' AND \"FileClassName\" = '{$fileClassName}'\n\t\t\t")->value()) {
             $dataObjectIsFile = in_array($dataObjectClassName, $this->Config()->get("file_classes")) ? 1 : 0;
             $fileIsFile = in_array($fileClassName, $this->Config()->get("file_classes")) ? 1 : 0;
             for ($i = 0; $i < $dataObjectIsFile + $fileIsFile; $i++) {
                 $computedDataObjectIsFile = false;
                 $computedFileIsFile = false;
                 if ($i == 0 && $dataObjectIsFile) {
                     $computedDataObjectIsFile = true;
                 }
                 if ($i == 1 && $fileIsFile || !$dataObjectIsFile) {
                     $computedFileIsFile = true;
                 }
                 $bothAreFiles = false;
                 if ($dataObjectIsFile && $fileIsFile) {
                     $bothAreFiles = true;
                 }
                 $obj = new MetaTagCMSControlFileUse();
                 $obj->DataObjectClassName = $dataObjectClassName;
                 $obj->DataObjectFieldName = $dataObjectFieldName;
                 $obj->FileClassName = $fileClassName;
                 $obj->ConnectionType = $connectionType;
                 $obj->DataObjectIsFile = $computedDataObjectIsFile;
                 $obj->FileIsFile = $computedFileIsFile;
                 $obj->BothAreFiles = $bothAreFiles;
                 $obj->IsLiveVersion = 0;
                 $obj->write();
                 if (is_subclass_of($dataObjectClassName, "SiteTree")) {
                     $obj = new MetaTagCMSControlFileUse();
                     $obj->DataObjectClassName = $dataObjectClassName . "_Live";
                     $obj->DataObjectFieldName = $dataObjectFieldName;
                     $obj->FileClassName = $fileClassName;
                     $obj->ConnectionType = $connectionType;
                     $obj->DataObjectIsFile = $computedDataObjectIsFile;
                     $obj->FileIsFile = $computedFileIsFile;
                     $obj->BothAreFiles = $bothAreFiles;
                     $obj->IsLiveVersion = 1;
                     $obj->write();
                 }
             }
             DB::alteration_message("creating new MetaTagCMSControlFileUse: {$dataObjectClassName}, {$dataObjectFieldName}, {$fileClassName}, {$connectionType}");
         }
     }
 }