My own implementation of java collections