private float[] simulateBowl(float[] currentFruits) {
    float[] bowl = new float[NUM_FRUIT_TYPES];
    int sz = 0;
    while (sz < numFruitsPerBowl) {
      // pick a fruit according to current fruit distribution
      int fruit = pickFruit(currentFruits); 
      float c = 1 + random.nextInt(3);
      c = Math.min(c, numFruitsPerBowl - sz);
      c = Math.min(c, currentFruits[fruit]);

      bowl[fruit] += c;
      sz += c;
      currentFruits[fruit] -= c;
    }
    return bowl;
  }