Base class for adapters & array adapter