public function add($idSite, $date, $note, $starred = 0)
    {
        $this->checkUserCanAddNotesFor($idSite);
        $this->checkSingleIdSite($idSite, $extraMessage = "Note: Cannot add one note to multiple sites.");
        $this->checkDateIsValid($date);

        // add, save & return a new annotation
        $annotations = new AnnotationList($idSite);

        $newAnnotation = $annotations->add($idSite, $date, $note, $starred);
        $annotations->save($idSite);

        return $newAnnotation;
    }