def METHOD_NAME():
    # Create
    restorable_item = RestorableTestItem(item=configuration_value)
    expected_default_filename = f'{RestorableTestItem.NAME}.{RestorableTestItem._CONFIG_FILE_EXTENSION}'
    expected_default_filepath = RestorableTestItem.DEFAULT_CONFIG_ROOT / expected_default_filename
    # Serialize
    assert restorable_item.serialize()
    assert restorable_item.static_payload()
    # Write to JSON file
    filepath = restorable_item.to_configuration_file()
    assert filepath == expected_default_filepath
    # Ensure controlled failure to override
    with pytest.raises(FileExistsError):
        _filepath = restorable_item.to_configuration_file(override=False)
    # Ensure controlled override
    filepath = restorable_item.to_configuration_file(override=True)
    assert filepath == expected_default_filepath
    # Restore from JSON Configuration
    try:
        # Ensure configuration file is readable
        with open(restorable_item.filepath, 'r') as f:
            contents = f.read()
        # Ensure file contents are JSON deserializable
        deserialized_file_contents = json.loads(contents)
        del deserialized_file_contents['version']  # do not test version of config serialization here.
        deserialized_file_contents['config_root'] = Path(deserialized_file_contents['config_root'])
        deserialized_payload = RestorableTestItem.deserialize(payload=contents)
        assert deserialized_payload == deserialized_file_contents
        # Restore from JSON file
        restored_item = RestorableTestItem.from_configuration_file()
        assert restorable_item.serialize() == restored_item.serialize()
        assert restorable_item.item == configuration_value
        assert restorable_item.filepath == expected_default_filepath
    finally:
        shutil.rmtree(restorable_item.filepath, ignore_errors=True)