@Override
public BaseSqlWidget remove(Expression e) {
BaseSqlWidget parent = getParentExpression();
if (getLeft() == e) {
parent.replace(this, getRight());
} else if (getRight() == e) {
parent.replace(this, getLeft());
} else {
throw new IllegalArgumentException();
}