code: def getActiveOrCreate(cls, checkpointPath, setupFunc):
          
  
          if setupFunc is None:
              raise Exception("setupFunc cannot be None")
          activeContext = cls.getActive()
          if activeContext is not None:
              return activeContext
          elif checkpointPath is not None:
              return cls.getOrCreate(checkpointPath, setupFunc)
          else:
              return setupFunc()
docs: Either return the active StreamingContext (i.e. currently started but not stopped),
          or recreate a StreamingContext from checkpoint data or create a new StreamingContext
          using the provided setupFunc function. If the checkpointPath is None or does not contain
          valid checkpoint data, then setupFunc will be called to create a new context and setup
          DStreams.
  
          @param checkpointPath: Checkpoint directory used in an earlier streaming program. Can be
                                 None if the intention is to always create a new context when there
                                 is no active context.
          @param setupFunc:      Function to create a new JavaStreamingContext and setup DStreams