code: public BoltDeclarer setBolt(String id, IRichBolt bolt, Number parallelism_hint) throws IllegalArgumentException {
          validateUnusedId(id);
          initCommon(id, bolt, parallelism_hint);
          _bolts.put(id, bolt);
          return new BoltGetter(id);
      }
docs: Define a new bolt in this topology with the specified amount of parallelism.
  
  @param id the id of this component. This id is referenced by other components that want to consume this bolt's outputs.
  @param bolt the bolt
  @param parallelism_hint the number of tasks that should be assigned to execute this bolt. Each task will run on a thread in a process somewhere around the cluster.
  @return use the returned object to declare the inputs to this component
  @throws IllegalArgumentException if {@code parallelism_hint} is not positive