public static function hydrate(stdClass $entrypoint)
    {
        $hydrated = new EntrypointEntity();

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

        if (isset($entrypoint->line)) {
            $hydrated->setLine($entrypoint->line);
        }

        if (isset($entrypoint->file)) {
            $hydrated->setFile(FileHydrator::hydrate($entrypoint->file));
        }

        if (isset($entrypoint->function)) {
            $hydrated->setFunction(CustomFunctionHydrator::hydrate($entrypoint->function));
        }

        if (isset($entrypoint->class)) {
            $hydrated->setClass(CustomClassHydrator::hydrate($entrypoint->class));
        }

        return $hydrated;
    }