¿Cómo transformar una lista anidada de valores dobles en una clase Java usando RxJava?

En mi cliente Android, recibo estos datos JSON de un servidor:

[
    [
        1427378400000,
        553
    ],
    [
        1427382000000,
        553
    ]
]

Aquí está la rutina que realmente carga los datos. estoy usandoRxAndroid yRetrofit aquí.

private void getProductLevels() {
    Observable<List<List<Double>>> responseObservable =
        mProductService.readProductLevels();
    AppObservable.bindFragment(this, responseObservable)
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        // TODO: Transform List<List<Double>> into List<ProductLevel>
        .subscribe(new Subscriber<List<List<Double>>>() {
            @Override
            public void onCompleted() {}

            @Override
            public void onError(Throwable e) {}

            @Override
            public void onNext(List<List<Double>> response) {}
        });

}

¿Cómo puedo mapear el interiorList<Double> a una clase Java específica comoProductLevel utilizandoOperadores de RxJava?

public class ProductLevel {

    public Double mTimeStamp;
    public Double mLevel;

    public ProductLevel(Double timeStamp, Double level) {
        mTimeStamp = timeStamp;
        mLevel = level;
    }

}

Finalmente, me gustaría recibir esto:List<ProductLevel>.

Respuestas a la pregunta(3)

Su respuesta a la pregunta