docs: public static JavaPairRDD<Text, BytesPairWritable> combineFilesForSequenceFile(JavaSparkContext sc, String path1,
                      String path2, PathToKeyConverter converter1, PathToKeyConverter converter2) {
          JavaPairRDD<String, PortableDataStream> first = sc.binaryFiles(path1);
          JavaPairRDD<String, PortableDataStream> second = sc.binaryFiles(path2);
  
          //Now: process keys (paths) so that they can be merged
          JavaPairRDD<String, Tuple3<String, Integer, PortableDataStream>> first2 =
                          first.mapToPair(new PathToKeyFunction(0, converter1));
          JavaPairRDD<String, Tuple3<String, Integer, PortableDataStream>> second2 =
                          second.mapToPair(new PathToKeyFunction(1, converter2));
          JavaPairRDD<String, Tuple3<String, Integer, PortableDataStream>> merged = first2.union(second2);
  
          //Combine into pairs, and prepare for writing
          JavaPairRDD<Text, BytesPairWritable> toWrite =
                          merged.groupByKey().mapToPair(new MapToBytesPairWritableFunction());
          return toWrite;
      }