public GitHubIssueNode(GitHubIssue issue) {
   super(
       GitHubIssuesConnector.ID,
       issue.getRepository().getID(),
       issue,
       GitHubIssues.getInstance().getIssueProvider(),
       GitHubIssues.getInstance().getIssueStatusProvider(),
       GitHubIssues.getInstance().getChangesProvider());
 }
  public GitHubIssueController(GitHubIssue gitHubIssue) {
    repositoryId = gitHubIssue.getRepository().getID();
    getPanel().setIssue(gitHubIssue);
    Runnable runnable =
        new Runnable() {

          @Override
          public void run() {
            getPanel().update();
          }
        };
    if (EventQueue.isDispatchThread()) {
      runnable.run();
    } else {
      SwingUtilities.invokeLater(runnable);
    }
  }
 @Override
 public void addComment(GitHubIssue issue, String comment, boolean resolveAsFixed) {
   issue.addComment(comment, resolveAsFixed);
 }
 @Override
 public void attachFile(GitHubIssue issue, File file, String string, boolean bln) {
   issue.attachFile(file, string, bln);
 }
 @Override
 public boolean isFinished(GitHubIssue issue) {
   return issue.isFinished();
 }
 @Override
 public boolean refresh(GitHubIssue issue) {
   return issue.refresh();
 }
 @Override
 public String getSummary(GitHubIssue issue) {
   return issue.getSummary();
 }
 @Override
 public boolean isNew(GitHubIssue issue) {
   return issue.isNew();
 }
 @Override
 public String getID(GitHubIssue issue) {
   return issue.getID();
 }
 @Override
 public Collection<String> getSubtasks(GitHubIssue issue) {
   return issue.getSubtasks();
 }
 @Override
 public String getTooltip(GitHubIssue issue) {
   return issue.getTooltip();
 }
 @Override
 public String getDisplayName(GitHubIssue issue) {
   return issue.getDisplayName();
 }
 @Override
 public void removePropertyChangeListener(GitHubIssue issue, PropertyChangeListener listener) {
   issue.removePropertyChangeListener(listener);
 }
 @Override
 public void addPropertyChangeListener(GitHubIssue issue, PropertyChangeListener listener) {
   issue.addPropertyChangeListener(listener);
 }
 @Override
 public IssueController getController(GitHubIssue issue) {
   return issue.getController();
 }