Program: 28865
Project: 28865
Buggy source:
/** 
 * @param streamDefinition Definition of the stream this sink instance is publishing to
 * @param type Type of the transport that (e.g., TCP, JMS)
 * @param transportOptionHolder Option holder for carrying options for the transport
 * @param sinkConfigReader  This hold the {@link Sink} extensions configuration reader for the sink
 * @param sinkMapper Hold the mapper that's used in this sink
 * @param mapType Type of the mapper
 * @param mapOptionHolder Options of the mapper
 * @param payload The template of the payload message
 * @param mapperConfigReader This hold the {@link Sink} extensions configuration reader for the mapper
 * @param executionPlanContext The execution plan context
 * @param destinationOptionHolders List of option holders containing the options mentioned in @destination
 * @param sinkAnnotation The annotation of the Sink
 * @param strategy Publishing strategy to be used by the distributed transport
 * @param supportedDynamicOptions List of supported dynamic options
 */
public void init(StreamDefinition streamDefinition,String type,OptionHolder transportOptionHolder,ConfigReader sinkConfigReader,SinkMapper sinkMapper,String mapType,OptionHolder mapOptionHolder,String payloadTemplate,ConfigReader mapperConfigReader,ExecutionPlanContext executionPlanContext,List<OptionHolder> destinationOptionHolders,Annotation sinkAnnotation,DistributionStrategy strategy,String[] supportedDynamicOptions){
  this.strategy=strategy;
  this.supportedDynamicOptions=supportedDynamicOptions;
  init(streamDefinition,type,transportOptionHolder,sinkConfigReader,sinkMapper,mapType,mapOptionHolder,payloadTemplate,mapperConfigReader,executionPlanContext);
  initTransport(sinkOptionHolder,destinationOptionHolders,sinkAnnotation,sinkConfigReader,executionPlanContext);
}

Fixed version (ground truth):
/** 
 * This is method contains the additional parameters which require to initialize distributed transport
 * @param streamDefinition Definition of the stream this sink instance is publishing to
 * @param type Type of the transport that (e.g., TCP, JMS)
 * @param transportOptionHolder Option holder for carrying options for the transport
 * @param sinkConfigReader  This hold the {@link Sink} extensions configuration reader for the sink
 * @param sinkMapper Hold the mapper that's used in this sink
 * @param mapType Type of the mapper
 * @param mapOptionHolder Options of the mapper
 * @param payloadTemplate The template of the payload message
 * @param mapperConfigReader This hold the {@link Sink} extensions configuration reader for the mapper
 * @param executionPlanContext The execution plan context
 * @param destinationOptionHolders List of option holders containing the options mentioned in @destination
 * @param sinkAnnotation The annotation of the Sink
 * @param strategy Publishing strategy to be used by the distributed transport
 * @param supportedDynamicOptions List of supported dynamic options
 */
public void init(StreamDefinition streamDefinition,String type,OptionHolder transportOptionHolder,ConfigReader sinkConfigReader,SinkMapper sinkMapper,String mapType,OptionHolder mapOptionHolder,String payloadTemplate,ConfigReader mapperConfigReader,ExecutionPlanContext executionPlanContext,List<OptionHolder> destinationOptionHolders,Annotation sinkAnnotation,DistributionStrategy strategy,String[] supportedDynamicOptions){
  this.strategy=strategy;
  this.supportedDynamicOptions=supportedDynamicOptions;
  init(streamDefinition,type,transportOptionHolder,sinkConfigReader,sinkMapper,mapType,mapOptionHolder,payloadTemplate,mapperConfigReader,executionPlanContext);
  initTransport(sinkOptionHolder,destinationOptionHolders,sinkAnnotation,sinkConfigReader,executionPlanContext);
}