docs: public BEValue bdecodeMap() throws IOException {
      int c = this.getNextIndicator();
      if (c != 'd') {
        throw new InvalidBEncodingException("Expected 'd', not '" +
                (char) c + "'");
      }
      this.indicator = 0;
  
      Map<String, BEValue> result = new HashMap<String, BEValue>();
      c = this.getNextIndicator();
      while (c != 'e') {
        // Dictionary keys are always strings.
        String key = this.bdecode().getString();
  
        BEValue value = this.bdecode();
        result.put(key, value);
  
        c = this.getNextIndicator();
      }
      this.indicator = 0;
  
      return new BEValue(result);
    }