public static void main(String args[])
	{	
		// null check
		Utility.printObject(null);
		
		DataBase db = new DataBase();
		
		// null fields
		Utility.printObject(db);
		
		Name n = new Name();
		
		Utility.printObject(n);
		
		n.firstName = "Aviva";
		n.lastName = "Herman";
		
		// prints a real object
		Utility.printObject(n);
		
		Person p = new Person();
		
		// null fields
		Utility.printObject(p);
		
		p.age = 24;
		p.name = n;
		
		// prints a real object
		Utility.printObject(p);
		
		Address ad = new Address();
		
		ad.phone = "039628532";
		ad.st = new Street();
		ad.st.name = "Ha'Rav Neria St.";
		ad.st.num = 6;
		
		p.address = ad;
		
		// prints nested "structs"
		Utility.printObject(p);
		
		
		// Test collection and array
		db.names = new Person[5];
		db.ids = new LinkedList<>();
		db.num = 0;
		
		for (int i = 0; i < db.names.length; i++) {
			db.num++;
			db.names[i] = new Person();
			db.names[i].age = i + 20;
			db.names[i].name = new Name();
			db.names[i].name.firstName = "Aviva" + i;
			db.names[i].name.lastName = "Herman" + i;
			db.names[i].address = new Address();
			db.names[i].address.phone = "" + (i + 1) * 1000000;
			db.names[i].address.st = new Street();
			db.names[i].address.st.name = "Ha'Rav Neria St.";
			db.names[i].address.st.num = i;
			Name name = new Name();
			name.firstName = "a" + i;
			name.lastName = "b" + i;
			db.ids.addLast(name);
		}
		
		Utility.printObject(db);
	}