Program: 104127
Project: 104127
Buggy source:
/** 
 * Initialized the service implementation, and puts it in a sate where it could interoperate with other services. It is strongly recommended that properties in this Map be mapped to property names as specified by <tt>AccountProperties</tt>.
 * @param screenname the account id/uin/screenname of the account thatwe're about to create
 * @param accountID the identifier of the account that this protocolprovider represents.
 * @see net.java.sip.communicator.service.protocol.AccountID
 */
protected void initialize(String screenname,AccountID accountID){
synchronized (initializationLock) {
    this.accountID=accountID;
    String protocolIconPath=accountID.getAccountPropertyString(ProtocolProviderFactory.PROTOCOL_ICON_PATH);
    if (protocolIconPath == null) {
      protocolIconPath="String_Node_Str";
    }
    jabberIcon=new ProtocolIconJabberImpl(protocolIconPath);
    jabberStatusEnum=JabberStatusEnum.getJabberStatusEnum(protocolIconPath);
    supportedFeatures.add("String_Node_Str");
    String keepAliveStrValue=accountID.getAccountPropertyString("String_Node_Str");
    String resourcePriority=accountID.getAccountPropertyString(ProtocolProviderFactory.RESOURCE_PRIORITY);
    OperationSetPersistentPresenceJabberImpl persistentPresence=new OperationSetPersistentPresenceJabberImpl(this);
    if (resourcePriority != null) {
      persistentPresence.setResourcePriority(Integer.parseInt(resourcePriority));
      supportedFeatures.add("String_Node_Str");
    }
    supportedOperationSets.put(OperationSetPersistentPresence.class.getName(),persistentPresence);
    supportedOperationSets.put(OperationSetPresence.class.getName(),persistentPresence);
    OperationSetBasicInstantMessagingJabberImpl basicInstantMessaging=new OperationSetBasicInstantMessagingJabberImpl(this);
    if (keepAliveStrValue != null)     basicInstantMessaging.setKeepAliveEnabled(Boolean.parseBoolean(keepAliveStrValue));
    supportedOperationSets.put(OperationSetBasicInstantMessaging.class.getName(),basicInstantMessaging);
    supportedFeatures.add("String_Node_Str");
    OperationSetWhiteboardingJabberImpl whiteboard=new OperationSetWhiteboardingJabberImpl(this);
    supportedOperationSets.put(OperationSetWhiteboarding.class.getName(),whiteboard);
    OperationSetTypingNotifications typingNotifications=new OperationSetTypingNotificationsJabberImpl(this);
    supportedOperationSets.put(OperationSetTypingNotifications.class.getName(),typingNotifications);
    supportedFeatures.add("String_Node_Str");
    OperationSetMultiUserChat multiUserChat=new OperationSetMultiUserChatJabberImpl(this);
    supportedOperationSets.put(OperationSetMultiUserChat.class.getName(),multiUserChat);
    InfoRetreiver infoRetreiver=new InfoRetreiver(this,screenname);
    OperationSetServerStoredContactInfo contactInfo=new OperationSetServerStoredContactInfoJabberImpl(infoRetreiver);
    supportedOperationSets.put(OperationSetServerStoredContactInfo.class.getName(),contactInfo);
    OperationSetServerStoredAccountInfo accountInfo=new OperationSetServerStoredAccountInfoJabberImpl(this,infoRetreiver,screenname);
    supportedOperationSets.put(OperationSetServerStoredAccountInfo.class.getName(),accountInfo);
    supportedFeatures.add("String_Node_Str");
    supportedFeatures.add("String_Node_Str");
    supportedFeatures.add("String_Node_Str");
    if (JabberActivator.getMediaService() != null) {
      OperationSetBasicTelephony opSetBasicTelephony=new OperationSetBasicTelephonyJabberImpl(this);
      supportedOperationSets.put(OperationSetBasicTelephony.class.getName(),opSetBasicTelephony);
      supportedFeatures.add("String_Node_Str");
      supportedFeatures.add("String_Node_Str");
    }
    isInitialized=true;
  }
}

Fixed version (ground truth):
/** 
 * Initialized the service implementation, and puts it in a sate where it could interoperate with other services. It is strongly recommended that properties in this Map be mapped to property names as specified by <tt>AccountProperties</tt>.
 * @param screenname the account id/uin/screenname of the account thatwe're about to create
 * @param accountID the identifier of the account that this protocolprovider represents.
 * @see net.java.sip.communicator.service.protocol.AccountID
 */
protected void initialize(String screenname,AccountID accountID){
synchronized (initializationLock) {
    this.accountID=accountID;
    String protocolIconPath=accountID.getAccountPropertyString(ProtocolProviderFactory.PROTOCOL_ICON_PATH);
    if (protocolIconPath == null) {
      protocolIconPath="String_Node_Str";
    }
    jabberIcon=new ProtocolIconJabberImpl(protocolIconPath);
    jabberStatusEnum=JabberStatusEnum.getJabberStatusEnum(protocolIconPath);
    supportedFeatures.add("String_Node_Str");
    String keepAliveStrValue=accountID.getAccountPropertyString("String_Node_Str");
    String resourcePriority=accountID.getAccountPropertyString(ProtocolProviderFactory.RESOURCE_PRIORITY);
    OperationSetPersistentPresenceJabberImpl persistentPresence=new OperationSetPersistentPresenceJabberImpl(this);
    if (resourcePriority != null) {
      persistentPresence.setResourcePriority(Integer.parseInt(resourcePriority));
      supportedFeatures.add("String_Node_Str");
    }
    supportedOperationSets.put(OperationSetPersistentPresence.class.getName(),persistentPresence);
    supportedOperationSets.put(OperationSetPresence.class.getName(),persistentPresence);
    OperationSetBasicInstantMessagingJabberImpl basicInstantMessaging=new OperationSetBasicInstantMessagingJabberImpl(this);
    if (keepAliveStrValue != null)     basicInstantMessaging.setKeepAliveEnabled(Boolean.parseBoolean(keepAliveStrValue));
    supportedOperationSets.put(OperationSetBasicInstantMessaging.class.getName(),basicInstantMessaging);
    supportedFeatures.add("String_Node_Str");
    OperationSetWhiteboardingJabberImpl whiteboard=new OperationSetWhiteboardingJabberImpl(this);
    supportedOperationSets.put(OperationSetWhiteboarding.class.getName(),whiteboard);
    OperationSetTypingNotifications typingNotifications=new OperationSetTypingNotificationsJabberImpl(this);
    supportedOperationSets.put(OperationSetTypingNotifications.class.getName(),typingNotifications);
    supportedFeatures.add("String_Node_Str");
    OperationSetMultiUserChat multiUserChat=new OperationSetMultiUserChatJabberImpl(this);
    supportedOperationSets.put(OperationSetMultiUserChat.class.getName(),multiUserChat);
    InfoRetreiver infoRetreiver=new InfoRetreiver(this,screenname);
    OperationSetServerStoredContactInfo contactInfo=new OperationSetServerStoredContactInfoJabberImpl(infoRetreiver);
    supportedOperationSets.put(OperationSetServerStoredContactInfo.class.getName(),contactInfo);
    OperationSetServerStoredAccountInfo accountInfo=new OperationSetServerStoredAccountInfoJabberImpl(this,infoRetreiver,screenname);
    supportedOperationSets.put(OperationSetServerStoredAccountInfo.class.getName(),accountInfo);
    supportedFeatures.add("String_Node_Str");
    supportedFeatures.add("String_Node_Str");
    supportedFeatures.add("String_Node_Str");
    String enableJingle=(String)JabberActivator.getConfigurationService().getProperty(PNAME_ENABLE_JINGLE);
    if (Boolean.getBoolean(enableJingle) && JabberActivator.getMediaService() != null) {
      OperationSetBasicTelephony opSetBasicTelephony=new OperationSetBasicTelephonyJabberImpl(this);
      supportedOperationSets.put(OperationSetBasicTelephony.class.getName(),opSetBasicTelephony);
      supportedFeatures.add("String_Node_Str");
      supportedFeatures.add("String_Node_Str");
    }
    isInitialized=true;
  }
}