title: Transform Collection observable in Reactive X Java
body: <p>I have a block of code that transforms a block of List[VideoDetails] into a VideoGrid using a couple map statements with <a href="https://github.com/ReactiveX/RxJava" rel="nofollow">ReactiveX</a>:</p>
  
  <pre><code>feedService.loadVideoDetailsFeed(things)
              .map(new Func1&lt;List&lt;VideoDetails&gt;, List&lt;Video&gt;&gt;() {
                  @Override
                  public List&lt;Video&gt; call(List&lt;VideoDetails&gt; details) {
                      return Lists.transform(details, new Function&lt;VideoDetails, Video&gt;() {
                          @Override
                          public Video apply(VideoDetails input) {
                              return input.getVideo();
                          }
                      });
                  }
              })
              .map(new Func1&lt;List&lt;Video&gt;, VideoGrid&gt;() {
                  @Override
                  public VideoGrid call(List&lt;Video&gt; videos) {
                      //stuff
                  }
              })
  </code></pre>
  
  <p>As you can see, I'm using a Guava transform in one of the map statements to go from List[VideoDetails] to List[Video].  I would assume there is a better way through ReactiveX to accomplish this transformation?  I was looking through the <a href="http://reactivex.io/documentation/operators.html#transforming" rel="nofollow">transforming section</a> of the docs but I might be too green with ReactiveX to know what to use here.</p>
  
  <p>The above code snippet works, I would just rather do it in the correct way if possible.</p>