Messages sent by EtherMAC mark the beginning of a transmission. The end of a transmission is not explicitly represented by a message, but instead, the EtherMAC calculates it from the frame length and the transmission rate. Frames are represented by EtherFrame.
When frames collide, the transmission is aborted -- in this case EtherMAC makes use of the modelled jam signals to figure out when colliding transmissions end.
When a transmitting station senses a collision, it transmits a jam signal. Jam signals are represented by a EtherJam message. When EtherMAC received a jam signal, it knows that one transmission has ended in jamming -- thus when it receives as many jam messages as colliding frames, it can be sure all transmissions have been aborted.
Receiving a jam message marks the beginning (and not the end) of a jam signal, so actually EtherMAC has to wait for the duration of the jamming before assuming the channel is free again.