public static List doSquares() {
List squares = new ArrayList();
Flowable.range(1, 64) // (1)
.observeOn(Schedulers.computation()) // (2)
.map(v -> v * v) // (3)
.blockingSubscribe(squares::add); // (4)
return squares;
}