Generated code from  fd1e8a5675d40bc2d55137de023641528c4e9742