Generated code from  db7a08b511836c92dd7d54cfe639f8d0d0c9e68a