code: public final static Observable<Double> averageDouble(Observable<Double> source) {
          return source.lift(new OperatorAverageDouble<Double>(MathObservable.<Double>identity()));
      }
docs: Returns an Observable that emits the average of the Doubles emitted by the source Observable.
  <p>
  <img width="640" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/average.png" alt="">
  
  @param source
  source Observable to compute the average of
  @return an Observable that emits a single item: the average of all the Doubles emitted by the source
  Observable
  @see <a href="https://github.com/ReactiveX/RxJava/wiki/Mathematical-and-Aggregate-Operators#wiki-averageinteger-averagelong-averagefloat-and-averagedouble">RxJava Wiki: averageDouble()</a>
  @see <a href="http://msdn.microsoft.com/en-us/library/system.reactive.linq.observable.average.aspx">MSDN: Observable.Average</a>