int val = 0;
for (int i = 0; i < encoded.length(); i++) {
try {
val += VALUE_MAP.get(encoded.charAt(i)) << i * BITS_PER_DIGIT;
} catch (NullPointerException e) {
throw new InvalidColumnNameException("Contained a character not in the alphabet: "
+ encoded);
}
}
return new ColumnId(val);
}