class InsertDelta<T> extends Delta<T> {

  /**
   * Creates an insert delta with the two given chunks.
   *
   * @param original
   *            The original chunk. Must not be {@code null}.
   * @param revised
   *            The original chunk. Must not be {@code null}.
   */
  public InsertDelta(Chunk<T> original, Chunk<T> revised) {
    super(original, revised);
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public void applyTo(List<T> target) {<FILL_FUNCTION_BODY>}

  @Override
  public void verify(List<T> target) throws IllegalStateException {
    checkState(getOriginal().getPosition() <= target.size(),
               "Incorrect patch for delta: delta original position > target size");
  }

  @Override
  public TYPE getType() {
    return Delta.TYPE.INSERT;
  }

}

    verify(target);
    int position = this.getOriginal().getPosition();
    List<T> lines = this.getRevised().getLines();
    for (int i = 0; i < lines.size(); i++) {
      target.add(position + i, lines.get(i));
    }
  
<methods>public void <init>(Chunk<T>, Chunk<T>) ,public abstract void applyTo(List<T>) throws java.lang.IllegalStateException,public boolean equals(java.lang.Object) ,public Chunk<T> getOriginal() ,public Chunk<T> getRevised() ,public abstract org.assertj.core.util.diff.Delta.TYPE getType() ,public int hashCode() ,public int lineNumber() ,public java.lang.String toString() ,public abstract void verify(List<T>) throws java.lang.IllegalStateException<variables>public static final java.lang.String DEFAULT_END,public static final java.lang.String DEFAULT_START,private Chunk<T> original,private Chunk<T> revised