title: JAVA incompatible types: Object cannot be converted to my type
body: <p>I'm trying to make changes to my GUI in JavaFX by doing the work on a separate thread and returning the object required. However, after doing the work and task.setOnSucceeded() is triggered I attempt to retrieve the created object and get the error "incompatible types: Object cannot be converted to type VideoScrollPane".</p>
  
  <p>I think this has something to do with raw types as it's within the listener this is happening but after looking around I couldn't find the suggestions I was looking for.</p>
  
  <p>Any light that can be shed would be much appreciated.</p>
  
  <pre><code>Task task = new Task&lt;VideoScrollPane&gt;() {
      VideoScrollPane vsp;
      @Override protected VideoScrollPane call() {
          try {
              System.out.print("thread...");
  
              ExecutorService executor = Executors.newCachedThreadPool();
              Future&lt;VideoScrollPane&gt; future = executor.submit(new Callable&lt;VideoScrollPane&gt;() {
                  @Override public VideoScrollPane call() {
                      return new VideoScrollPane(mediaview, vboxCentre, username, project);
                  }
              });
  
              vsp = future.get();
          } catch(Exception exception) { System.out.println(exception.getMessage()); }
  
          return vsp;
      }
  };
  new Thread(task).start();
  
  task.setOnSucceeded(new EventHandler&lt;WorkerStateEvent&gt;() {
      @Override public void handle(WorkerStateEvent t) {
          System.out.println("complete");
  
          try {
  
              //where the problem occurs
              VideoScrollPane v = task.get();     
  
          } catch(Exception exception) { System.out.println(exception.getMessage()); }
      }
  });
  </code></pre>