def METHOD_NAME(cls, op):
    axis1, axis2 = op.axis1, op.axis2
    in_tensor = op.inputs[0]
    out_tensor = op.outputs[0]
    out_chunks = []
    for c in in_tensor.chunks:
        chunk_shape = _swap(c.shape, axis1, axis2)
        chunk_idx = _swap(c.index, axis1, axis2)
        chunk_op = op.copy().reset_key()
        out_chunk = chunk_op.new_chunk(
            [c], shape=chunk_shape, index=chunk_idx, order=out_tensor.order
        )
        out_chunks.append(out_chunk)
    new_op = op.copy()
    nsplits = _swap(in_tensor.nsplits, axis1, axis2)
    return new_op.new_tensors(
        [in_tensor],
        out_tensor.shape,
        order=out_tensor.order,
        chunks=out_chunks,
        nsplits=nsplits,
    )