Program: 90674
Project: 90674
Buggy source:
@SuppressWarnings({"String_Node_Str"}) private static ConcurrentMap<String,ConcurrentMap<String,PluginType<?>>> decode(final ClassLoader classLoader){
  Enumeration<URL> resources;
  try {
    resources=classLoader.getResources(PATH + FILENAME);
  }
 catch (  final IOException ioe) {
    LOGGER.warn("String_Node_Str",ioe);
    return null;
  }
  final ConcurrentMap<String,ConcurrentMap<String,PluginType<?>>> map=new ConcurrentHashMap<String,ConcurrentMap<String,PluginType<?>>>();
  while (resources.hasMoreElements()) {
    DataInputStream dis=null;
    try {
      final URL url=resources.nextElement();
      LOGGER.debug("String_Node_Str",url.toExternalForm());
      final InputStream is=url.openStream();
      final BufferedInputStream bis=new BufferedInputStream(is);
      dis=new DataInputStream(bis);
      final int count=dis.readInt();
      for (int j=0; j < count; ++j) {
        final String type=dis.readUTF();
        final int entries=dis.readInt();
        ConcurrentMap<String,PluginType<?>> types=map.get(type);
        if (types == null) {
          types=new ConcurrentHashMap<String,PluginType<?>>(count);
        }
        for (int i=0; i < entries; ++i) {
          final String key=dis.readUTF();
          final String className=dis.readUTF();
          final String name=dis.readUTF();
          final boolean printable=dis.readBoolean();
          final boolean defer=dis.readBoolean();
          final Class<?> clazz=Class.forName(className);
          types.put(key,new PluginType(clazz,name,printable,defer));
        }
        map.putIfAbsent(type,types);
      }
    }
 catch (    final Exception ex) {
      LOGGER.warn("String_Node_Str",ex);
      return null;
    }
 finally {
      Closer.closeSilent(dis);
    }
  }
  return map.size() == 0 ? null : map;
}

Fixed version (ground truth):
private static ConcurrentMap<String,ConcurrentMap<String,PluginType<?>>> decode(final ClassLoader classLoader){
  Enumeration<URL> resources;
  try {
    resources=classLoader.getResources(PATH + FILENAME);
  }
 catch (  final IOException ioe) {
    LOGGER.warn("String_Node_Str",ioe);
    return null;
  }
  final ConcurrentMap<String,ConcurrentMap<String,PluginType<?>>> map=new ConcurrentHashMap<String,ConcurrentMap<String,PluginType<?>>>();
  while (resources.hasMoreElements()) {
    final URL url=resources.nextElement();
    LOGGER.debug("String_Node_Str",url.toExternalForm());
    InputStream is;
    try {
      is=url.openStream();
    }
 catch (    final IOException e) {
      LOGGER.warn("String_Node_Str",url.toExternalForm(),e);
      continue;
    }
    final DataInputStream dis=new DataInputStream(new BufferedInputStream(is));
    try {
      final int count=dis.readInt();
      for (int j=0; j < count; ++j) {
        final String type=dis.readUTF();
        final int entries=dis.readInt();
        ConcurrentMap<String,PluginType<?>> types=map.get(type);
        if (types == null) {
          types=new ConcurrentHashMap<String,PluginType<?>>(count);
        }
        for (int i=0; i < entries; ++i) {
          final String key=dis.readUTF();
          final String className=dis.readUTF();
          final String name=dis.readUTF();
          final boolean printable=dis.readBoolean();
          final boolean defer=dis.readBoolean();
          try {
            final PluginType<?> pluginType=loadPluginType(className,name,printable,defer);
            types.put(key,pluginType);
          }
 catch (          final ClassNotFoundException e) {
            LOGGER.info("String_Node_Str",className,e);
          }
        }
        map.putIfAbsent(type,types);
      }
    }
 catch (    final IOException ex) {
      LOGGER.warn("String_Node_Str",ex);
    }
 finally {
      Closer.closeSilent(dis);
    }
  }
  return map.isEmpty() ? null : map;
}