public static function hydrate(stdClass $application)
    {
        $hydrated = new ApplicationEntity();

        if (isset($application->id)) {
            $hydrated->setId($application->id);
        }

        if (isset($application->name)) {
            $hydrated->setName($application->name);
        }

        if (isset($application->current_scan)) {
            $hydrated->setCurrentScan($application->current_scan);
        }

        if (isset($application->created_by)) {
            $hydrated->setCreatedBy(UserHydrator::hydrate($application->created_by));
        }

        if (isset($application->charged_quota)) {
            $hydrated->setChargedQuota(QuotaHydrator::hydrate($application->charged_quota));
        }

        if (isset($application->created_at)) {
            $hydrated->setCreatedAt(new DateTime($application->created_at));
        }

        if (isset($application->organization)) {
            $hydrated->setOrganization(OrgHydrator::hydrate($application->organization));
        }

        if (isset($application->auto_renew)) {
            $hydrated->setAutoRenew($application->auto_renew);
        }

        return $hydrated;
    }