
Follows the pattern of other key type refactorings, adding a static factory method. However, unlike the other key types, this one can't be an @AutoValue, because it has other subclasses and specific requirements around the implementation of equals. So we're stuck with boilerplate; at least it's only one field. See I6982fb24 for context. Change-Id: Ic46c4a357f4ee77f18e54e87ca97af6e834834b6