static buildCommon_(obj) {
    const ret = {};
    for (const key of Object.getOwnPropertyNames(obj)) {
      if (key.endsWith('_')) {
        continue;  // Ignore private fields.
      }
      ret[key] = obj[key];
    }
    return ret;
  }
Creates an object from the given builder.  This function exists because
we want to be able to use expect().toEqual with these objects.  If we used
the builders themselves, they wouldn't be equal.  So this converts the
builder to a "normal" object so it can be used in toEqual.  This assumes
that (a) the only fields on the object are fields in the target struct, (b)
private fields ending with "_" should be ignored, and (c) all the helpers
are defined on the prototype (and therefore not "own" properties).

@param {!Object} obj
@return {?}
@private