If we make the argument list `MyMessage(Builder builder, int a, int b, int c)` it can all work out. When you are constructing a message instance from scratch, you just pass null for the builder.