public void revertChange(NodeRewriteEvent event) {
   Object originalValue = event.getOriginalValue();
   if (originalValue == null) {
     List entries = getEntries();
     entries.remove(event);
   } else {
     event.setNewValue(originalValue);
   }
 }
  public RewriteEvent replaceEntry(ASTNode entry, ASTNode newEntry) {
    if (entry == null) {
      throw new IllegalArgumentException();
    }

    List entries = getEntries();
    int nEntries = entries.size();
    for (int i = 0; i < nEntries; i++) {
      NodeRewriteEvent curr = (NodeRewriteEvent) entries.get(i);
      if (curr.getOriginalValue() == entry || curr.getNewValue() == entry) {
        curr.setNewValue(newEntry);
        if (curr.getNewValue() == null
            && curr.getOriginalValue() == null) { // removed an inserted node
          entries.remove(i);
          return null;
        }
        return curr;
      }
    }
    return null;
  }
 public void setNewValue(ASTNode newValue, int insertIndex) {
   NodeRewriteEvent curr = (NodeRewriteEvent) getEntries().get(insertIndex);
   curr.setNewValue(newValue);
 }