Extract super class AbstractRepository