1 Introduction

	A Peanut from Diffuse is always OK!
	
	Diffuse is well known for its extremely tasty, crunchy and well-formed peanuts
	which have been held in high esteem in the civilized world for well over a century.
	The company has of recently introduced Java into its factory process to support in
	its quality assurance. The request has been made for a program which can perform
	the three quality checks and allow only those peanuts which are found to be "OK".

2 Assignment

	Write the implementation of PeanutValidator called PeanutValidatorImpl. The method
	of this class that will be tested is:
	
		public Peanut[] validate(Peanut[] peanuts) throws NutsException;
		
	Expected behavior:
	* return only the peanuts which are tasty, crunchy and well-formed. Use the
	  interface of the Peanut object to determine this. See also:
	  - Peanut.TASTE_OK
	  - Peanut.CRUNCHINESS_OK
	  - Peanut.FORM_OK
	* when faulty input has been passed, throw a NutsException. Faulty input is ALL
	  incoming null pointers everywhere. Be stern.
	* An empty array of peanut objects is OK. When good input (no null pointers!) 
	  has been passed be sure to always pass back an array of Peanuts, even when 
	  there are no peanuts inside!

3. Example

	Input => 
	- Peanut("Marga", TASTE_TOO_SALTY, CRUNCHINESS_OK, FORM_OK)
	- Peanut("John", TASTE_OK, CRUNCHINESS_OK, FORM_OK)
	- Peanut("Paul", TASTE_OK, CRUNCHINESS_OK, FORM_OK)
	- Peanut("Ina", TASTE_OK, CRUNCHINESS_OK, FORM_TOO_SQUARE)
	- Peanut("Wendy", TASTE_OK, CRUNCHINESS_OK, FORM_OK)

	Output =>
	- Peanut("John", TASTE_OK, CRUNCHINESS_OK, FORM_OK)
	- Peanut("Paul", TASTE_OK, CRUNCHINESS_OK, FORM_OK)
	- Peanut("Wendy", TASTE_OK, CRUNCHINESS_OK, FORM_OK)

4. Tips

	* Use the getters from Peanut!
	* Remember, only good peanuts are good enough!

Good luck!
