class Context implements IContext<TEntity> {

    @Override
    public void destroyAllEntities() {
        for (TEntity entity : getEntities()) {
            entity.destroy();
        }
        _entities.clear();

        if (_retainedEntities.size() != 0) {
            throw new ContextStillHasRetainedEntitiesException(this);
        }

    }

    public  Context(int totalComponents, int startCreationIndex, ContextInfo contexInfo,
                   EntityBaseFactory<TEntity> factoryMethod, Function<TEntity, IAERC> aercFactory);

}