add demos of visitor pattern.