moved shared methods to super class
created SampleableListImpl class and implemented respective method
added tests and test class for sampleable list
added additional test. ensures objects within list returned by rest do not share references with original list