code: private String getTopic(FrameworkEvent frameworkEvent) {
          StringBuilder topic = new StringBuilder(FRAMEWORK_EVENT_TOPIC_PREFIX);
  
          switch (frameworkEvent.getType()) {
              case FrameworkEvent.STARTED:
                  topic.append("STARTED");
                  break;
              case FrameworkEvent.ERROR:
                  topic.append("ERROR");
                  break;
              case FrameworkEvent.PACKAGES_REFRESHED:
                  topic.append("PACKAGES_REFRESHED");
                  break;
              case FrameworkEvent.STARTLEVEL_CHANGED:
                  topic.append("STARTLEVEL_CHANGED");
                  break;
              case FrameworkEvent.WARNING:
                  topic.append("WARNING");
                  break;
              case FrameworkEvent.INFO:
                  topic.append("INFO");
                  break;
              default:
                  return null;
          }
  
          return topic.toString();
      }
docs: Determine the appropriate topic to use for the Framework Event.
  
  @param frameworkEvent
  the framework event that is being adapted
  @return the topic or null if the event is not supported