public void acceptValuationVisitor(ValuationVisitor visitor) {
		
		PortfolioIterator iterator = new PortfolioIterator();
		

		Investment i;
		while (iterator.hasNext()) {
			
			i = iterator.next();
			
			if (i instanceof Bond) {
				visitor.visitBond((Bond) i);
			} 
			else if (i instanceof Stock) {
				visitor.visitStock((Stock) i);
			}
			else if (i instanceof MoneyMarket) {
				visitor.visitMoneyMarket((MoneyMarket) i);
			}
			else if (i instanceof Portfolio) {
				i.acceptValuationVisitor(visitor);
			}
			else {
				throw new NoSuchElementException("Object of class " + i.getClass() + " is unknown");
			}
		}
	}