This is really ugly but works ...

~~~    
    JavaRDD<LabeledPoint> examples = sc.parallelize(POINTS, 2).cache();
    NaiveBayesModel model = NaiveBayes.train(examples.rdd());
    JavaRDD<Double> prediction =
      (JavaRDD<Double>) (Object) model.predict(examples.map(new Function<LabeledPoint, Vector>() {
        @Override
        public Vector call(LabeledPoint v) throws Exception {
          return v.features();
        }
      }).rdd()).toJavaRDD();
    System.out.println(prediction.collect());
~~~