void preRemoveChildEvent(ASTNode node, ASTNode child, StructuralPropertyDescriptor property) {
if(property.isChildProperty()) {
NodeRewriteEvent event = getNodeEvent(node, property);
event.setNewValue(null);
} else if(property.isChildListProperty()) {
ListRewriteEvent event = getListEvent(node, property);
int i = event.getIndex(child, ListRewriteEvent.NEW);
NodeRewriteEvent nodeEvent = (NodeRewriteEvent)event.getChildren()[i];
if(nodeEvent.getOriginalValue() == null) {
event.revertChange(nodeEvent);
} else {
nodeEvent.setNewValue(null);
}
}
}