String value = options.get(rawKey).toString();
assert value != null;
Field target = canFill.get(key);
Pair<Boolean, Boolean> mark = required.get(key);
if (mark != null && mark.first) {
<BUG>required.put(key.toString(), Pair.makePair(true, true));
}</BUG>
if (target != null) {
<BUG>fillField(target, value);
} else if (ensureAllOptions) {</BUG>
int lastDotIndex = rawKeyStr.lastIndexOf('.');

String value = options.get(rawKey).toString();
assert value != null;
Field target = canFill.get(key);
Pair<Boolean, Boolean> mark = required.get(key);
if (mark != null && mark.first) {
required.put(key, Pair.makePair(true, true));
}
if (target != null) {
fillField(class2object.get(target.getDeclaringClass()), target, value);
} else if (ensureAllOptions) {
int lastDotIndex = rawKeyStr.lastIndexOf('.');
