public void applyUpdate(Contact update) {
		if (update == null) return;
		if (update.getId() != 0 && update.getId() != this.getId() )
			throw new IllegalArgumentException("Update contact must have same id as contact to update");
		// Since title is used to display contacts, don't allow empty title
		if (! isEmpty( update.getTitle()) ) this.setTitle(update.getTitle()); // empty nickname is ok
		// other attributes: allow an empty string as a way of deleting an attribute in update (this is hacky)
		else this.setTitle(" ");
		if (update.getName() != null ) this.setName(update.getName()); 
		else this.setName(" ");
		if (update.getEmail() != null) this.setEmail(update.getEmail());
		else this.setEmail(" ");
		if (update.getPhotoUrl() != null) this.setPhotoUrl(update.getPhotoUrl());
		else this.setPhotoUrl(" ");
	}