Program: 103647
Project: 103647
Buggy source:
/** 
 * Loads the accounts stored for a specific <code>ProtocolProviderFactory</code>.
 * @param factory the <code>ProtocolProviderFactory</code> to load thestored accounts of
 */
private void doLoadStoredAccounts(ProtocolProviderFactory factory){
  ConfigurationService configService=ProtocolProviderActivator.getConfigurationService();
  String factoryPackage=getFactoryImplPackageName(factory);
  List<String> storedAccounts=configService.getPropertyNamesByPrefix(factoryPackage,true);
  logger.debug("String_Node_Str" + storedAccounts.size() + "String_Node_Str"+ factoryPackage+ "String_Node_Str");
  for (Iterator<String> storedAccountIter=storedAccounts.iterator(); storedAccountIter.hasNext(); ) {
    String storedAccount=storedAccountIter.next();
    logger.debug("String_Node_Str" + storedAccount);
    List<String> storedAccountProperties=configService.getPropertyNamesByPrefix(storedAccount,true);
    Map<String,String> accountProperties=new Hashtable<String,String>();
    for (Iterator<String> storedAccountPropertyIter=storedAccountProperties.iterator(); storedAccountPropertyIter.hasNext(); ) {
      String property=storedAccountPropertyIter.next();
      String value=configService.getString(property);
      property=stripPackagePrefix(property);
      if (ProtocolProviderFactory.PASSWORD.equals(property)) {
        if (value == null) {
          value="String_Node_Str";
        }
 else         if (value.length() != 0) {
          value=new String(Base64.decode(value));
        }
      }
      if (value != null) {
        accountProperties.put(property,value);
      }
    }
    try {
      factory.loadAccount(accountProperties);
    }
 catch (    Exception ex) {
      logger.error("String_Node_Str" + accountProperties,ex);
    }
  }
}

Fixed version (ground truth):
/** 
 * Loads the accounts stored for a specific <code>ProtocolProviderFactory</code>.
 * @param factory the <code>ProtocolProviderFactory</code> to load thestored accounts of
 */
private void doLoadStoredAccounts(ProtocolProviderFactory factory){
  ConfigurationService configService=ProtocolProviderActivator.getConfigurationService();
  String factoryPackage=getFactoryImplPackageName(factory);
  List<String> storedAccounts=configService.getPropertyNamesByPrefix(factoryPackage,true);
  if (logger.isDebugEnabled())   logger.debug("String_Node_Str" + storedAccounts.size() + "String_Node_Str"+ factoryPackage+ "String_Node_Str");
  for (Iterator<String> storedAccountIter=storedAccounts.iterator(); storedAccountIter.hasNext(); ) {
    String storedAccount=storedAccountIter.next();
    if (logger.isDebugEnabled())     logger.debug("String_Node_Str" + storedAccount);
    List<String> storedAccountProperties=configService.getPropertyNamesByPrefix(storedAccount,true);
    Map<String,String> accountProperties=new Hashtable<String,String>();
    for (Iterator<String> storedAccountPropertyIter=storedAccountProperties.iterator(); storedAccountPropertyIter.hasNext(); ) {
      String property=storedAccountPropertyIter.next();
      String value=configService.getString(property);
      property=stripPackagePrefix(property);
      if (ProtocolProviderFactory.PASSWORD.equals(property)) {
        if (value == null) {
          value="String_Node_Str";
        }
 else         if (value.length() != 0) {
          value=new String(Base64.decode(value));
        }
      }
      if (value != null) {
        accountProperties.put(property,value);
      }
    }
    try {
      factory.loadAccount(accountProperties);
    }
 catch (    Exception ex) {
      logger.error("String_Node_Str" + accountProperties,ex);
    }
  }
}