Generated code from  17d3edfec56d8880df7691d0927764f6effde488