def METHOD_NAME(self, obj):
    """
    Returns a generator of ("pickle protocol number", object) tuples.
    """
    for protocol in range(1 + pickle.HIGHEST_PROTOCOL):
        bio = io.BytesIO()
        pickle.dump(obj, bio, protocol)
        # move the bio back to the start and reconstruct
        bio.seek(0)
        reconstructed_obj = pickle.load(bio)
        yield protocol, reconstructed_obj