class VersionCorrection implements ImmutableBean, Comparable<VersionCorrection>, Serializable {

  @FromString
  public static VersionCorrection parse(String versionCorrection) {
    ArgumentChecker.notEmpty(versionCorrection, "versionCorrection");
    int posC = versionCorrection.indexOf(".C");
    if (versionCorrection.charAt(0) != 'V' || posC < 0) {
      throw new IllegalArgumentException("Invalid identifier format: " + versionCorrection);
    }
    String verStr = versionCorrection.substring(1, posC);
    String corrStr = versionCorrection.substring(posC + 2);
    Instant versionAsOf = parseInstantString(verStr);
    Instant correctedTo = parseInstantString(corrStr);
    return of(versionAsOf, correctedTo);
  }

  @ImmutableConstructor private  VersionCorrection(Instant versionAsOf, Instant correctedTo);

}