public static function hydrate(stdClass $customClass)
    {
        $hydrated = new CustomClassEntity();

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

        if (isset($customClass->start_line)) {
            $hydrated->setStartLine($customClass->start_line);
        }

        if (isset($customClass->end_line)) {
            $hydrated->setEndLine($customClass->end_line);
        }

        if (isset($customClass->start_column)) {
            $hydrated->setStartColumn($customClass->start_column);
        }

        if (isset($customClass->end_column)) {
            $hydrated->setEndColumn($customClass->end_column);
        }

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

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

        return $hydrated;
    }