class WithinExpression extends AstNode {

  @Override
  public String toString() {
    final StringBuilder builder = new StringBuilder();
    builder.append(" WITHIN ");
    if (before == after) {
      builder.append(before).append(' ').append(beforeTimeUnit);
    } else {
      builder.append('(')
          .append(before)
          .append(' ')
          .append(beforeTimeUnit)
          .append(", ")
          .append(after)
          .append(' ')
          .append(afterTimeUnit)
          .append(")");
    }
    return builder.toString();
  }

  public  WithinExpression(final long size, final TimeUnit timeUnit);
  public  WithinExpression(
      final long before,
      final long after,
      final TimeUnit beforeTimeUnit,
      final TimeUnit afterTimeUnit
  );
  public  WithinExpression(
      final Optional<NodeLocation> location,
      final long before,
      final long after,
      final TimeUnit beforeTimeUnit,
      final TimeUnit afterTimeUnit
  );

}