def METHOD_NAME(
    item_path: str,
    item_type: BlockType,
    item_title: str,
    validation_rule: ItemValidationRule = None,
    parent_owner: UserGroup = None,
    doc_owner: UserGroup | None = None,
) -> DocInfo | Folder:
    create_function = (
        DocEntry.create if item_type == BlockType.Document else Folder.create
    )
    owner_group = doc_owner if doc_owner else get_current_user_group_object()
    item_path = item_path.strip("/")
    validate_item_and_create_intermediate_folders(
        item_path, item_type, parent_owner or owner_group, validation_rule
    )
    item = create_function(item_path, owner_group, item_title)
    grant_access_to_session_users(item)
    if item_type == BlockType.Document and app.config["BOOKMARKS_ENABLED"]:
        bms = get_current_user_object().bookmarks
        bms.add_bookmark(
            LAST_EDITED_GROUP,
            item.title,
            item.url_relative,
            move_to_top=True,
            limit=app.config["LAST_EDITED_BOOKMARK_LIMIT"],
        ).save_bookmarks()
    copy_default_rights(item, item_type)
    reset_request_access_cache()
    return item