Generated code from  95a06dd0bb7d140dee215087f10e1210b0547985