private function isFullSyncRequired($forceFullSync, PollTask $lastSuccessfulSyncTask = null, $currentRootDseDnsHostName, $currentInvocationId)
    {
        if ($forceFullSync) {
            return true;
        }

        if (!$lastSuccessfulSyncTask) {
            return true;
        }

        if ($lastSuccessfulSyncTask->getRootDseDnsHostName() != $currentRootDseDnsHostName) {
            return true;
        }

        if ($lastSuccessfulSyncTask->getInvocationId() != $currentInvocationId) {
            return true;
        }

        return false;
    }