Generated code from  ec88b75afa2e561727a66430d12942e19c81c0fb