@Override
			@SuppressWarnings("unchecked")
			public void run() {
				try {
					JavaStreamingContext javaStreamingContext = new JavaStreamingContext(streamingContext);
					streamingContexts.put(module, javaStreamingContext);
					JavaReceiverInputDStream javaInputDStream = javaStreamingContext.receiverStream(receiver);
					if (sparkStreamingSupport instanceof Processor) {
						new ModuleExecutor().execute(javaInputDStream, (Processor) sparkStreamingSupport, sender);
					}
					if (sparkStreamingSupport instanceof org.springframework.xd.spark.streaming.scala.Processor) {
						ReceiverInputDStream receiverInput = javaInputDStream.receiverInputDStream();
						new org.springframework.xd.spark.streaming.scala.ModuleExecutor().execute(receiverInput,
								(org.springframework.xd.spark.streaming.scala.Processor) sparkStreamingSupport, sender);
					}
					javaStreamingContext.start();
					javaStreamingContext.awaitTermination();
				}
				catch (Exception e) {
					throw new IllegalStateException("Exception when running Spark Streaming application.", e);
				}
			}
Start spark streaming context for the given streaming processor.

@param sparkConfigs the spark configuration properties
@param sparkStreamingSupport the underlying processor implementation
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/plugins/spark/streaming/SparkStreamingPlugin.java