if (dynamic_cast<cMessage *>(msg) )
{ char msgname[20];
sprintf(msgname, "I am here%d", getIndex());
cMessage *msg = new cMessage(msgname);
int n = gateSize("gate");
for (int i = 0; i < n; i++)
{
cMessage *copy = msg->dup();
send(copy, "gate$o", i);
scheduleAt(time(0)+ exponential(0.5),copy);
}
delete msg;
}