Generated code from  54d04a7ca3865792bc11b992087c0ec4d826c8d5