code: @Override
      public double average()
      {
          readLock.lock();
          try
          {
              int count = count();
              double s = 0;
              double c = 0;
              PrimitiveIterator.OfInt it = modIterator();
              while (it.hasNext())
              {
                  int m = it.nextInt();
                  s += sin[m];
                  c += cos[m];
              };
              return toDegrees(s / count, c / count);
          }
          finally
          {
              readLock.unlock();
          }
      }
docs: Returns sample by sample calculated average.
  @return