public function sameValueAs(ValueObjectInterface $coordinate)
    {
        if (false === Util::classEquals($this, $coordinate)) {
            return false;
        }

        return $this->getLatitude()->sameValueAs($coordinate->getLatitude())   &&
               $this->getLongitude()->sameValueAs($coordinate->getLongitude()) &&
               $this->getEllipsoid()->sameValueAs($coordinate->getEllipsoid())
        ;
    }