Вот еще одна альтернатива, вам не нужен поток, чтобы получить значение или значение по умолчанию из Map, сравнивая ключ с игнорированием регистра. Вы можете просто использовать TreeMap с CASE_INSENSITIVE_ORDER , который упорядочивает и сравнивает ключ, игнорируя регистр
Map<String, String> headers =
new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
headers.put("JMS_REPLY_TO_QUEUE", "reply");
headers.put("ERROR_QUEUE", "error");
headers.put("RETRY_QUEUE", "retry");
headers.put("OK_QUEUE", "ok");
, а затем просто используйте getOrDefault по умолчанию значение
System.out.println(headers.getOrDefault("JMS_REPLY_TO_QUEUE", "default")); //reply
System.out.println(headers.getOrDefault("JMS_rEPLY_TO_QUEUE", "default")); //reply
System.out.println(headers.getOrDefault("jms_reply_to_queue", "default")); //reply
System.out.println(headers.getOrDefault("JMSREPLY_TO_QUEUE", "default")); //default