code: def openSourceWindow(self, current_class, method=None):
          
          log.debug("openSourceWindow for %s" % current_class)
  
          sourcewin = self.getMeOpenedWindowIfExists(current_class.current_title + "(S)")
          if not sourcewin:
              current_filename = self.session.get_filename_by_class(current_class)
              current_digest = self.session.get_digest_by_class(current_class)
  
              sourcewin = SourceWindow(win=self,
                                       current_class=current_class,
                                       current_title=current_class.current_title + "(S)",
                                       current_filename=current_filename,
                                       current_digest=current_digest,
                                       session=self.session)
              sourcewin.reload_java_sources()
              self.central.addTab(sourcewin, sourcewin.title)
              self.central.setTabToolTip(self.central.indexOf(sourcewin),
                                         sourcewin.title)
  
          if method:
              sourcewin.browse_to_method(method)
  
          self.central.setCurrentWidget(sourcewin)
docs: Main function to open a decompile source window
             It checks if it already opened and open that tab,
             otherwise, initialize a new window.