code: public void pushAndDrop(DataSegment dataSegment)
    {
      checkStateTransition(this.state, SegmentState.APPENDING, SegmentState.PUSHED_AND_DROPPED);
      this.state = SegmentState.PUSHED_AND_DROPPED;
      this.dataSegment = dataSegment;
    }
docs: Change the segment state to {@link SegmentState#PUSHED_AND_DROPPED}. The current state should be
  {@link SegmentState#APPENDING}. This method should be called after the segment of {@link #segmentIdentifier} is
  completely pushed and dropped.
  
  @param dataSegment pushed {@link DataSegment}