Just to clarify what I meant, I think we usually use this:

    def leftOuterJoin[W](other: JavaPairRDD[K, W], numPartitions: Int)
      : JavaPairRDD[K, (V, Optional[W])] = {
      blah blah

where the return type is indented.