class TypedPValue extends PValueBase implements PValue {

  @Override
  public void finishSpecifying(PInput input, PTransform<?, ?> transform) {
    if (isFinishedSpecifyingInternal()) {
      return;
    }
    this.coderOrFailure = inferCoderOrFail(input, transform, getPipeline().getCoderRegistry());
    // Ensure that this TypedPValue has a coder by inferring the coder if none exists; If not,
    // this will throw an exception.
    getCoder();
    super.finishSpecifying(input, transform);
  }

  protected  TypedPValue(Pipeline p);

}