openrtb-core/src/main/java/com/google/openrtb/util/ProtoUtils.java
@SuppressWarnings("unchecked")
  public static <I extends MessageLiteOrBuilder, O extends MessageLite> O built(@Nullable I msg) {
    return msg instanceof MessageLite.Builder
        ? (O) ((MessageLite.Builder) msg).build()
        : (O) msg;
  }
@SuppressWarnings("unchecked")
  public static <I extends MessageLiteOrBuilder, O extends MessageLite> O built(@Nullable I msg) {
    return msg instanceof MessageLite.Builder
        ? (O) ((MessageLite.Builder) msg).build()
        : (O) msg;
  }
@ SuppressWarnings ( "unchecked" ) public static < I extends MessageLiteOrBuilder , O extends MessageLite > O built ( @ Nullable I msg ) { return msg instanceof MessageLite . Builder ? ( O ) ( ( MessageLite . Builder ) msg ) . build ( ) : ( O ) msg ; }
Given a message-or-builder, returns a message, invoking the builder if necessary.
Given a message - or - builder returns a message invoking the builder if necessary .