public BoltDeclarer setBolt(String id, IBasicBolt bolt) throws IllegalArgumentException {
        return setBolt(id, bolt, null);
    }
public BoltDeclarer setBolt ( String id , IBasicBolt bolt ) throws IllegalArgumentException { return setBolt ( id , bolt , null ) ; }
Define a new bolt in this topology. This defines a basic bolt, which is a
simpler to use but more restricted kind of bolt. Basic bolts are intended
for non-aggregation processing and automate the anchoring/acking process to
achieve proper reliability in the topology.

@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 basic bolt
@return use the returned object to declare the inputs to this component
@throws IllegalArgumentException if {@code parallelism_hint} is not positive