class DBDeviceStateManager extends DBManager<DeviceState> implements DeviceStateManager {

    @Override
    public final List<DeviceState> getStates(final Device device) throws
            DeviceStateManagerException {
        LOGGER.debug("getting all states for device: {}", device);
        if (device == null) {
            LOGGER.error("null device argument");
            throw new NullPointerException("null device");
        }

        try {
            return super.getList(DeviceState.class);
        } catch (DBManagerException e) {
            throw new DeviceStateManagerException(e);
        }
    }

    public  DBDeviceStateManager(final SessionFactory sessionFactory);

}