public Palaute validateAndConvert() throws ValidointiPoikkeus {
		
		/*
		 * Tarvitaan oma kääreluokka, joka säilyttää Mapia, 
		 * jossa on arvona ArrayListeja. Tavallinen Map ei käy, 
		 * sillä yhdellä avaimella voi olla monta arvoa.
		 * */
		ValidointiVirheet virheet = new ValidointiVirheet();
		
		// Luodaan validointia varten Validation-luokan olio.
		Validator validation = new Validator();
		
		// nimen validointi
		validation.validateString(this.nimi, "nimi", "Nimi", 50, true, false, true);
		// sähköpostin validointi
		validation.validateString(this.email, "email", "Sähköposti", 60, true, true, false);
		// palautteen kategorian validointi
		validation.validateString(this.palauteTyyppi, "kategoria", "Palautteen tyyppi", 50, false, false, false);
		// tilausID:n validointi
		validation.validateInt(this.tilausnumero, "tilausnumero", "Tilausnumero", false, false);
		// tietojen validointi
		validation.validateString(this.viesti, "tiedot", "Viesti", 255, true, false, false);

		// kutsutaan virhe-Map, jos virheitä on ja lähetetään ne poikkeusluokalle
		if(validation.getVirheet().size() > 0) {
			virheet = validation.getVirheet();
			throw new ValidointiPoikkeus(virheet);
		// jos virheitä ei ole jatketaan ja luodaan palaute-olio, joka palautetaan kutsujalle
		} else {		
			// Luodaan palaute-olio. Tilausnumeron parsiminen kokonaislukuun ja vastataanko muuttaminen booleaniin tehdään parametreissa.
			int tilausID = 0;
			if(!tilausnumero.isEmpty()) {
				tilausID = Integer.parseInt(tilausnumero);
			}
			Palaute palaute = new Palaute(this.nimi, this.email, this.palauteTyyppi, 
					tilausID, 
					!this.vastataanko.isEmpty() ? true : false, this.viesti);
			return palaute;
		}
	}