public static function install($existingAddOn, $addOnData, $xml)
 {
     if ($existingAddOn) {
         $currentVersion = $existingAddOn['version_id'];
     }
     $installClassInstance = new self();
     $installClassInstance->runBeforeInstallMethodCall();
     $upgrades = $installClassInstance->installMethods;
     ksort($upgrades, SORT_NUMERIC);
     if (isset($currentVersion)) {
         foreach ($upgrades as $key => $upgrade) {
             if ($key <= $currentVersion) {
                 unset($upgrades[$key]);
             }
         }
     }
     foreach ($upgrades as $method) {
         $installClassInstance->{$method}();
     }
 }