@Override
        //public int getDistribution(double standardDeviation) 
        public int getDistribution() 
        {
            Random rnd = new Random(SEED);
            inputbuffersize = rnd.nextInt(NumberOfPackets+1);
            
            //keeps track of packets created
            int PacketCounter = 0;
            
            int[] a =new int[inputbuffersize];
            
            int val;
            
            while (PacketCounter < NumberOfPackets)
            { 
                val = (int)((Math.log(1 / (1 - rand.nextDouble())) + mean) * Math.sqrt(standardDeviation));
                    //add each value to the distribution array
                    q.add(val);
                    //a[(val%inputbuffersize)] +=1;
                PacketCounter +=1;
                //System.out.print((int)val+ " ");
            }
 
            //for(Object x:q)  
            //{
            //    System.out.print((int)x+" ");
            //}
            //System.out.println("\n-----------");
  

            
            
            
            //***************
            //int total = 0;
            //***************
            
            //for(int x:a)  
            //for(Object x:EDarray)  
            //{
                //System.out.print(x+" ");
            //    q.add(x);
                //***************
            //    total += x;
                //***************
            //}
            
                //System.out.println();
            //System.out.println((int)val);
            return -1;
        }