I had wanted to avoid that so that we could verify state at compile time. Calling `withFailureTag` without first setting the success tag would require us to check state at runtime and fail.
This situation seems similar to other places in the Java SDK where we use intermediate objects to constrain possible misconfigurations at compile time. I'm thinking about `FileIO.writeDynamic` as one example where methods must be called in a certain order and this allows compile-time checking. [ Full content available at: https://github.com/apache/beam/pull/6586 ] This message was relayed via gitbox.apache.org for devnull@infra.apache.org