@Override
	public boolean mutate(Mutation.Type type) {
		switch (type) {
		case SWAP:
		case CREATE_PARENT:
		case REPLICATE:
			return false;
		case REMOVE:
			return Mutation.removeMust(this);
		case COPY_TREE:
			return Mutation.copyMustTree(this);
		case COPY:
			return Mutation.copy(this);
		default:
			throw new AssertionError();
		}
	}