question: public CustomOptional < KinesisRecord > next ( ) throws TransientKinesisException { readMoreIfNecessary ( ) ; if ( data . isEmpty ( ) ) { return CustomOptional . absent ( ) ; } else { KinesisRecord record = data . removeFirst ( ) ; checkpoint = checkpoint . moveAfter ( record ) ; return CustomOptional . of ( record ) ; } }
target:  Returns record if there's any present. Returns absent() if there are no new records at this time in the shard.