@Override
 public void onRemovedFromList() {
   for (int i = 0; i < mySides.length; i++) {
     SimpleChangeSide side = mySides[i];
     side.getRange().removeListener(this);
     side.getHighlighterHolder().removeHighlighters();
     mySides[i] = null;
   }
 }
 @Override
 public void onApplied() {
   myType = ChangeType.deriveApplied(myType);
   for (SimpleChangeSide side : mySides) {
     ChangeHighlighterHolder highlighterHolder = side.getHighlighterHolder();
     highlighterHolder.setActions(new AnAction[0]);
     highlighterHolder.updateHighlighter(side, myType);
   }
   myChangeList.apply(this);
 }
 /**
  * Changes the given Side of a Change to a new text range.
  *
  * @param sideToChange Side to be changed.
  * @param newRange New change range.
  */
 @Override
 protected void changeSide(@NotNull ChangeSide sideToChange, @NotNull DiffRangeMarker newRange) {
   for (int i = 0; i < mySides.length; i++) {
     SimpleChangeSide side = mySides[i];
     if (side.equals(sideToChange)) {
       mySides[i] = new SimpleChangeSide(sideToChange, newRange);
       break;
     }
   }
 }