Program: 52322
Project: 52322
Buggy source:
/** 
 * Returns a map of all available language keys to their corresponding human-readable names.
 * @param authToken The authentication token that is used to authenticate the user performing the operation.
 * @param servletContext The ServletContext associated with the request.
 * @return A list of languages defined in the system, consisting of  language display name and key.
 * @throws GuacamoleException If an error occurs while retrieving the available languages.
 */
@GET @AuthProviderRESTExposure public Map<String,String> getLanguages(@QueryParam("String_Node_Str") String authToken,@Context ServletContext servletContext) throws GuacamoleException {
  Set<String> resourcePaths=servletContext.getResourcePaths(TRANSLATION_PATHS);
  if (resourcePaths == null)   return Collections.EMPTY_MAP;
  Map<String,String> languageMap=new HashMap<String,String>();
  for (  String resourcePath : resourcePaths) {
    InputStream languageFileStream=servletContext.getResourceAsStream(resourcePath);
    if (languageFileStream == null) {
      logger.warn("String_Node_Str",resourcePath);
      continue;
    }
    try {
      String languageKey;
      Matcher languageKeyMatcher=LANGUAGE_KEY_PATTERN.matcher(resourcePath);
      if (!languageKeyMatcher.matches() || (languageKey=languageKeyMatcher.group(1)) == null) {
        logger.warn("String_Node_Str",resourcePath);
        continue;
      }
      JsonNode tree=mapper.readTree(languageFileStream);
      JsonNode nameNode=tree.get(LANGUAGE_DISPLAY_NAME_KEY);
      String languageName;
      if (nameNode == null || (languageName=nameNode.getTextValue()) == null) {
        logger.warn("String_Node_Str" + LANGUAGE_DISPLAY_NAME_KEY + "String_Node_Str",resourcePath);
        languageName=languageKey;
      }
      languageMap.put(languageKey,languageName);
    }
 catch (    IOException e) {
      logger.warn("String_Node_Str",resourcePath,e.getMessage());
      logger.debug("String_Node_Str",e);
    }
  }
  return languageMap;
}

Fixed version (ground truth):
/** 
 * Returns a map of all available language keys to their corresponding human-readable names.
 * @param authToken The authentication token that is used to authenticate the user performing the operation.
 * @param servletContext The ServletContext associated with the request.
 * @return A map of languages defined in the system, of language key to  display name.
 * @throws GuacamoleException If an error occurs while retrieving the available languages.
 */
@GET @AuthProviderRESTExposure public Map<String,String> getLanguages(@QueryParam("String_Node_Str") String authToken,@Context ServletContext servletContext) throws GuacamoleException {
  Set<String> resourcePaths=servletContext.getResourcePaths(TRANSLATION_PATH);
  if (resourcePaths == null)   return Collections.EMPTY_MAP;
  Map<String,String> languageMap=new HashMap<String,String>();
  for (  String resourcePath : resourcePaths) {
    InputStream languageFileStream=servletContext.getResourceAsStream(resourcePath);
    if (languageFileStream == null) {
      logger.warn("String_Node_Str",resourcePath);
      continue;
    }
    try {
      String languageKey;
      Matcher languageKeyMatcher=LANGUAGE_KEY_PATTERN.matcher(resourcePath);
      if (!languageKeyMatcher.matches() || (languageKey=languageKeyMatcher.group(1)) == null) {
        logger.warn("String_Node_Str",resourcePath);
        continue;
      }
      JsonNode tree=mapper.readTree(languageFileStream);
      JsonNode nameNode=tree.get(LANGUAGE_DISPLAY_NAME_KEY);
      String languageName;
      if (nameNode == null || (languageName=nameNode.getTextValue()) == null) {
        logger.warn("String_Node_Str" + LANGUAGE_DISPLAY_NAME_KEY + "String_Node_Str",resourcePath);
        languageName=languageKey;
      }
      languageMap.put(languageKey,languageName);
    }
 catch (    IOException e) {
      logger.warn("String_Node_Str",resourcePath,e.getMessage());
      logger.debug("String_Node_Str",e);
    }
  }
  return languageMap;
}