abstract the comman element and method of PointerKeyTypes into a base class