I have added the JavaStreamingContext.transform. It was a little tricky because allowing it pass a combination of JavaDStream and JavaPairDStream was making the API look incredibly messy (e.g., the parameters were of type List<JavaDStreamLike<?, ?, ?>> and List<JavaRDDLike<?, ?>>). Instead I allowed it to pass only JavaDStreams and added instructions to convert JavaPairDStream to JavaDStream for passing them. I feel this is less confusing to program against than using Java***Like.