def METHOD_NAME(cls, info: ResolveInfo, instance, data, **kwargs):
    cleaned_input = super().METHOD_NAME(info, instance, data, **kwargs)
    try:
        cleaned_input = validate_slug_and_generate_if_needed(
            instance, "title", cleaned_input
        )
    except ValidationError as error:
        error.code = PageErrorCode.REQUIRED.value
        raise ValidationError({"slug": error})
    if "publication_date" in cleaned_input and "published_at" in cleaned_input:
        raise ValidationError(
            {
                "publication_date": ValidationError(
                    "Only one of argument: publicationDate or publishedAt "
                    "must be specified.",
                    code=PageErrorCode.INVALID.value,
                )
            }
        )
    is_published = cleaned_input.get("is_published")
    publication_date = cleaned_input.get("published_at") or cleaned_input.get(
        "publication_date"
    )
    if is_published and not publication_date:
        cleaned_input["published_at"] = datetime.now(pytz.UTC)
    elif "publication_date" in cleaned_input or "published_at" in cleaned_input:
        cleaned_input["published_at"] = publication_date
    attributes = cleaned_input.get("attributes")
    page_type = (
        instance.page_type if instance.pk else cleaned_input.get("page_type")
    )
    if attributes and page_type:
        try:
            cleaned_input["attributes"] = cls.clean_attributes(
                attributes, page_type
            )
        except ValidationError as exc:
            raise ValidationError({"attributes": exc})
    clean_seo_fields(cleaned_input)
    return cleaned_input