c++ using list class:: insert()

hello,
I am new to STL in c++ and using list class.
I had a application in which I have to insert object of a class into a list at particular position......
So first of all I had to call function through which I will take a position where i had to insert in a list then increment iterator to that position and insert at that location ..
I had used it like this:::::::::
void Data::addPacketFromSerial(char *rawData)
{
int psn; //where to add in the list//
list <Packet>::iterator Iter;
Iter=packetArr.begin();
Packet objPacket(rawData); //creating object of class packet and passing rawData to it's constructor//
objPacket.parseRawData(); //calling parseRawData to parse the packet//
psn=objPacket.getPsn(); //get the psn from packet class
psn--;
while(psn--)
{
Iter++;
}
packetArr.insert(Iter,objPacket); //insert at particular position

}

but its not doing it correctly????????/
please guide me as soon as possible.....