Add Selection and Apply implementation :
 - Add Interfaces for creating function
 - Add Function implementation (passing in parameter)
 - Add a Function to return the correct Type while creating a collection
 - Add a "Test" JUnit Class to have a Object class (not only testing
	primitive type case)