private function getTipGroups(Description $description)
    {
        $tipsDescription = $description->getOptionalProperty('tips');

        if (!($tipsDescription instanceof Description)) {
            return [];
        }

        return array_map(
            function (\stdClass $groupDescription) {
                return $this->tipGroupFactory->create(new Description($groupDescription));
            },
            $tipsDescription->getOptionalProperty('groups', [])
        );
    }