Hi guys, my GS300 is in the garage now because it developed a misfire. It started fine but when the engine had been warmed up and running a few miles, it misfire. The engine sounds like its going to die and its shaking. My mechanic had changed the spark plugs, checked the coil packs but it still misfire. What causes it to happen and how it can be fix?