Add protected access to createQuery()
Add asFilter #491