code: @SuppressWarnings("rawtypes")
    public static void submitTopology(
        String name,
        Map stormConfig,
        StormTopology topology) throws AlreadyAliveException, InvalidTopologyException {
  
      // First do topology config translation. Bolt and Spout config translation is handled
      // in their own DeclarerImpl classes.
      org.apache.heron.api.Config heronConfig = ConfigUtils.translateConfig(stormConfig);
  
      // Now submit a heron topology
      try {
        HeronSubmitter.submitTopology(name, heronConfig, topology.getStormTopology());
      } catch (org.apache.heron.api.exception.AlreadyAliveException e) {
        throw new AlreadyAliveException();
      } catch (org.apache.heron.api.exception.InvalidTopologyException e) {
        throw new InvalidTopologyException();
      }
    }
docs: Submits a topology to run on the cluster. A topology runs forever or until
  explicitly killed.
  
  @param name the name of the storm.
  @param stormConfig the topology-specific configuration. See {@link Config}.
  @param topology the processing to execute.
  @throws AlreadyAliveException if a topology with this name is already running
  @throws InvalidTopologyException if an invalid topology was submitted