class MergeableExponentiallyDecayingReservoir {

    public double[] getUnsortedValues()
    {
      lockForRegularUsage();
      try
      {
        Collection<Double> dataValues = _values.values();
        double[] result = new double[dataValues.size()];
        int j = 0;
        for (Double dataValue : dataValues)
        {
          result[j++] = dataValue.doubleValue();
        }
        return result;
      }
      finally
      {
        unlockForRegularUsage();
      }
    }

    public  MergeableExponentiallyDecayingReservoir();
    public  MergeableExponentiallyDecayingReservoir(int size, double alpha);
    public  MergeableExponentiallyDecayingReservoir(int size, double alpha, Clock clock);

}