Program: 104406
Project: 104406
Buggy source:
/** 
 * Creates an instance of this operation set keeping a reference to the specified parent <tt>provider</tt>.
 * @param provider the ProtocolProviderServiceSipImpl instance thatcreated us.
 * @param isPresenceEnabled if we are activated or if we don't have tohandle the presence informations for contacts
 * @param forceP2PMode if we should start in the p2p mode directly
 * @param pollingPeriod the period between two poll for offline contacts
 * @param subscriptionExpiration the default subscription expiration valueto use
 */
public OperationSetPresenceSipImpl(ProtocolProviderServiceSipImpl provider,boolean isPresenceEnabled,boolean forceP2PMode,int pollingPeriod,int subscriptionExpiration){
  this.parentProvider=provider;
  this.contactListRoot=new ContactGroupSipImpl("String_Node_Str",provider);
  this.parentProvider.addRegistrationStateChangeListener(new RegistrationListener());
  this.parentProvider.registerMethodProcessor(Request.SUBSCRIBE,this);
  this.parentProvider.registerMethodProcessor(Request.NOTIFY,this);
  this.parentProvider.registerMethodProcessor(Request.PUBLISH,this);
  this.parentProvider.registerEvent("String_Node_Str");
  logger.debug("String_Node_Str" + isPresenceEnabled + "String_Node_Str"+ forceP2PMode+ "String_Node_Str"+ pollingPeriod+ "String_Node_Str"+ subscriptionExpiration+ "String_Node_Str"+ provider.getOurDisplayName());
  if (pollingPeriod > 0) {
    this.pollingTaskPeriod=pollingPeriod * 1000;
  }
  this.useDistantPA=!forceP2PMode;
  this.subscriptionDuration=subscriptionExpiration;
  this.presenceEnabled=isPresenceEnabled;
}

Fixed version (ground truth):
/** 
 * Creates an instance of this operation set keeping a reference to the specified parent <tt>provider</tt>.
 * @param provider the ProtocolProviderServiceSipImpl instance thatcreated us.
 * @param isPresenceEnabled if we are activated or if we don't have tohandle the presence informations for contacts
 * @param forceP2PMode if we should start in the p2p mode directly
 * @param pollingPeriod the period between two poll for offline contacts
 * @param subscriptionExpiration the default subscription expiration valueto use
 */
public OperationSetPresenceSipImpl(ProtocolProviderServiceSipImpl provider,boolean isPresenceEnabled,boolean forceP2PMode,int pollingPeriod,int subscriptionExpiration){
  this.parentProvider=provider;
  this.contactListRoot=new ContactGroupSipImpl("String_Node_Str",provider);
  this.parentProvider.addRegistrationStateChangeListener(new RegistrationListener());
  this.parentProvider.registerMethodProcessor(Request.SUBSCRIBE,this);
  this.parentProvider.registerMethodProcessor(Request.NOTIFY,this);
  this.parentProvider.registerMethodProcessor(Request.PUBLISH,this);
  this.parentProvider.registerEvent("String_Node_Str");
  logger.debug("String_Node_Str" + isPresenceEnabled + "String_Node_Str"+ forceP2PMode+ "String_Node_Str"+ pollingPeriod+ "String_Node_Str"+ subscriptionExpiration+ "String_Node_Str"+ provider.getOurDisplayName());
  if (pollingPeriod > 0) {
    this.pollingTaskPeriod=pollingPeriod * 1000;
  }
  this.useDistantPA=!forceP2PMode;
  if (subscriptionDuration > 0) {
    this.subscriptionDuration=subscriptionExpiration;
  }
  this.presenceEnabled=isPresenceEnabled;
}