public function isExecutableByLocation($content, \DateTime $startDate)
    {
        $endDateInterval = clone $startDate;
        $endDateInterval->modify('+'.$this->maxDuplicateInterval);

        /*
         * If message contains no links, find out whether it has been posted before.
         */
        if($this->mustValidate($content, $startDate)){
            /*
             * Is the Activity supposed to be executed now or is it scheduled
             * within the time where a duplicate status error could emerge?
             */
            if(
                $this->schedulerUtil->isDueNow($startDate) ||
                ($startDate > new \DateTime() && $startDate < $endDateInterval)
            ) {
                // Connect to Facebook REST API
                /** @var FacebookClient $connection */
                $connection = $this->restClient->connectByActivity(
                    $content->getOperation()->getActivity()
                );

                try {
                    $response = $connection->getLatestPost($content->getFacebookLocation()->getIdentifier());
                } catch (\Exception $e) {
                    throw new ExternalApiException($e->getMessage(), $e->getCode(), $e);
                }

                if (
                    isset($response['data']) &&
                    isset($response['data'][0]) &&
                    // TODO: Extract URL at end of message to ensure exact match.
                    $response['data'][0]['message'] == $content->getMessage()
                ) {
                    return array(
                        'status' => false,
                        'message' =>
                            'Same message has already been posted as the latest one on Facebook: '
                            . '<a href="https://www.facebook.com/' . $response['data'][0]['id'] . '">'
                            . 'https://www.facebook.com/' . $response['data'][0]['id']
                            . '</a>. '
                            . 'Either change the message or leave at least '
                            . $this->maxDuplicateInterval.' between yours and the other post.'
                    );
                }
            } else {
                // Check if post with same content is scheduled for same Location.
                $newActivity = clone $content->getOperation()->getActivity();
                $newActivity->setStartDate($startDate);

                $closestActivities = array();

                $closestActivities[] = $this->em->getRepository('CampaignChainCoreBundle:Activity')
                    ->getClosestScheduledActivity($newActivity, '-'.$this->maxDuplicateInterval);
                $closestActivities[] = $this->em->getRepository('CampaignChainCoreBundle:Activity')
                    ->getClosestScheduledActivity($newActivity, '+'.$this->maxDuplicateInterval);

                foreach($closestActivities as $closestActivity) {
                    if ($closestActivity) {
                        $isUniqueContent = $this->isUniqueContent($closestActivity, $content);
                        if ($isUniqueContent['status'] == false) {
                            return $isUniqueContent;
                        }
                    }
                }
            }
        }

        return array(
            'status' => true,
        );
    }