Program: 103969
Project: 103969
Buggy source:
/** 
 * Initialized the service implementation, and puts it in a sate where it could interoperate with other services. It is strongly recomended 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;
    if (IcqAccountID.isAIM(accountID.getAccountProperties()))     USING_ICQ=false;
    supportedOperationSets.put(OperationSetInstantMessageTransform.class.getName(),new OperationSetInstantMessageTransformImpl());
    OperationSetPersistentPresence persistentPresence=new OperationSetPersistentPresenceIcqImpl(this,screenname);
    supportedOperationSets.put(OperationSetPersistentPresence.class.getName(),persistentPresence);
    supportedOperationSets.put(OperationSetPresence.class.getName(),persistentPresence);
    OperationSetBasicInstantMessaging basicInstantMessaging=new OperationSetBasicInstantMessagingIcqImpl(this);
    supportedOperationSets.put(OperationSetBasicInstantMessaging.class.getName(),basicInstantMessaging);
    OperationSetMultiUserChatIcqImpl multiUserOpSet=new OperationSetMultiUserChatIcqImpl(this);
    supportedOperationSets.put(OperationSetMultiUserChat.class.getName(),multiUserOpSet);
    OperationSetTypingNotifications typingNotifications=new OperationSetTypingNotificationsIcqImpl(this);
    supportedOperationSets.put(OperationSetTypingNotifications.class.getName(),typingNotifications);
    if (USING_ICQ) {
      this.infoRetreiver=new InfoRetreiver(this,screenname);
      OperationSetServerStoredContactInfo serverStoredContactInfo=new OperationSetServerStoredContactInfoIcqImpl(infoRetreiver,this);
      supportedOperationSets.put(OperationSetServerStoredContactInfo.class.getName(),serverStoredContactInfo);
      OperationSetServerStoredAccountInfo serverStoredAccountInfo=new OperationSetServerStoredAccountInfoIcqImpl(infoRetreiver,screenname,this);
      supportedOperationSets.put(OperationSetServerStoredAccountInfo.class.getName(),serverStoredAccountInfo);
      OperationSetWebAccountRegistration webAccountRegistration=new OperationSetWebAccountRegistrationIcqImpl();
      supportedOperationSets.put(OperationSetWebAccountRegistration.class.getName(),webAccountRegistration);
      OperationSetWebContactInfo webContactInfo=new OperationSetWebContactInfoIcqImpl();
      supportedOperationSets.put(OperationSetWebContactInfo.class.getName(),webContactInfo);
      OperationSetExtendedAuthorizationsIcqImpl extendedAuth=new OperationSetExtendedAuthorizationsIcqImpl(this);
      supportedOperationSets.put(OperationSetExtendedAuthorizations.class.getName(),extendedAuth);
      OperationSetFileTransferIcqImpl fileTransferOpSet=new OperationSetFileTransferIcqImpl(this);
      supportedOperationSets.put(OperationSetFileTransfer.class.getName(),fileTransferOpSet);
    }
    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 recomended 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;
    if (IcqAccountID.isAIM(accountID.getAccountProperties()))     USING_ICQ=false;
    supportedOperationSets.put(OperationSetInstantMessageTransform.class.getName(),new OperationSetInstantMessageTransformImpl());
    OperationSetPersistentPresence persistentPresence=new OperationSetPersistentPresenceIcqImpl(this,screenname);
    supportedOperationSets.put(OperationSetPersistentPresence.class.getName(),persistentPresence);
    supportedOperationSets.put(OperationSetPresence.class.getName(),persistentPresence);
    OperationSetBasicInstantMessaging basicInstantMessaging=new OperationSetBasicInstantMessagingIcqImpl(this);
    supportedOperationSets.put(OperationSetBasicInstantMessaging.class.getName(),basicInstantMessaging);
    OperationSetMultiUserChatIcqImpl multiUserOpSet=new OperationSetMultiUserChatIcqImpl(this);
    supportedOperationSets.put(OperationSetMultiUserChat.class.getName(),multiUserOpSet);
    OperationSetTypingNotifications typingNotifications=new OperationSetTypingNotificationsIcqImpl(this);
    supportedOperationSets.put(OperationSetTypingNotifications.class.getName(),typingNotifications);
    if (USING_ICQ) {
      this.infoRetreiver=new InfoRetreiver(this,screenname);
      OperationSetServerStoredContactInfo serverStoredContactInfo=new OperationSetServerStoredContactInfoIcqImpl(infoRetreiver,this);
      supportedOperationSets.put(OperationSetServerStoredContactInfo.class.getName(),serverStoredContactInfo);
      OperationSetServerStoredAccountInfo serverStoredAccountInfo=new OperationSetServerStoredAccountInfoIcqImpl(infoRetreiver,screenname,this);
      supportedOperationSets.put(OperationSetServerStoredAccountInfo.class.getName(),serverStoredAccountInfo);
      OperationSetWebAccountRegistration webAccountRegistration=new OperationSetWebAccountRegistrationIcqImpl();
      supportedOperationSets.put(OperationSetWebAccountRegistration.class.getName(),webAccountRegistration);
      OperationSetWebContactInfo webContactInfo=new OperationSetWebContactInfoIcqImpl();
      supportedOperationSets.put(OperationSetWebContactInfo.class.getName(),webContactInfo);
      OperationSetExtendedAuthorizationsIcqImpl extendedAuth=new OperationSetExtendedAuthorizationsIcqImpl(this);
      supportedOperationSets.put(OperationSetExtendedAuthorizations.class.getName(),extendedAuth);
    }
    OperationSetFileTransferIcqImpl fileTransferOpSet=new OperationSetFileTransferIcqImpl(this);
    supportedOperationSets.put(OperationSetFileTransfer.class.getName(),fileTransferOpSet);
    isInitialized=true;
  }
}