code: protected Packet createPacket() throws IOException {
  		synchronized (packets) {
  			if (packets.size() == 0)
  				return new Packet();
  			Packet p = (Packet) packets.elementAt(0);
  			packets.removeElementAt(0);
  			return p;
  		}
  	}
docs: Get a packet from the available pool or create if non available
  
  @return Packet
  @throws IOException