private synchronized void insert(Packet np, double time)
    {
        if ( timeList.isEmpty() )
        {
            timeList.add( new Double(time) );
            pktList.add(np);
            return;
        }

        for (int i = 0; i < timeList.size(); i++)
        {
            double next = ( (Double) timeList.get(i) ).doubleValue();
            if (next > time)
            {
                timeList.add(i, new Double(time));
                pktList.add(i, np);
                return;
            }
        }

        // add to end
        timeList.add( new Double(time) );
        pktList.add(np);
        return;
    }