Qual é a maneira mais fácil de analisar um arquivo INI em Java?

Eu estou escrevendo um substituto para um aplicativo legado em Java. Um dos requisitos é que os arquivos ini que o aplicativo antigo utilizasse tivessem que ser lidos como estão no novo aplicativo Java. O formato desses arquivos ini é o estilo comum do Windows, com seções de cabeçalho e pares key = value, usando # como o caractere para comentar.

Eu tentei usar a classe Properties do Java, mas é claro que isso não funcionará se houver confrontos de nome entre diferentes cabeçalhos.

Então a questão é, qual seria a maneira mais fácil de ler neste arquivo INI e acessar as chaves?