import java.util.HashMap;
import java.util.Collections;
import java.util.Map;
import java.util.Random;
import java.io.IOException;

public final class Test {
  
  static final Map<String,Object> readEntries() throws IOException {
    final Random rnd = new Random();
    final Map<String,Object> mapping;
    try {
      final int firstInt = rnd.nextInt(2);
      if (firstInt == 0) {
        // ... more code ...
        try {
          mapping = new HashMap<String,Object>();
          // ... populate mapping ...
          return mapping;
        } finally {
          rnd.nextInt(); // dummy
        }
      } else {
        // assign mapping here, too!
        mapping = Collections.emptyMap();
      }
      return mapping; // bug occurs here: mapping is always initialized
    } finally {
      rnd.nextInt(); // dummy
    }
  }

}

