@Override
	public Iterator<T> iterator() {
        
		Iterator<T> implentmentedIterator = new Iterator<T>() {

	        private Iterator<T> iterator = items.iterator();			
			@Override
			public boolean hasNext() {
				return iterator.hasNext();
			}

			@Override
			public T next() {
				return iterator.next();
			}

			@Override
			public void remove() {
				iterator.remove();				
			}
			
		};
		
		
		return implentmentedIterator;
	}