public SubClass withOffsetDefault(OffsetType offsetDefault) {
    this.offsetDefaultOptional = Optional.ofNullable(offsetDefault);
    return (SubClass) this;
  }
If a container starts up without a checkpoint, this property determines where in the input stream we should start
consuming. The value must be an OffsetType, one of the following:
<ul>
 <li>upcoming: Start processing messages that are published after the job starts.
               Any messages published while the job was not running are not processed.
 <li>oldest: Start processing at the oldest available message in the system,
             and reprocess the entire available message history.
</ul>
This property is for an individual stream. To set it for all streams within a system, see
{@link SystemDescriptor#withDefaultStreamOffsetDefault}. If both are defined, the stream-level definition
takes precedence.

@param offsetDefault offset type to start processing from
@return this input descriptor
samza-api/src/main/java/org/apache/samza/system/descriptors/InputDescriptor.java