+ \r
+ // without separate listener, this query would work only once\r
+ @Override\r
+ public IQueryListener getListener() {\r
+ if (listener == null) {\r
+ listener = new IQueryListener() {\r
+ @Override\r
+ public boolean isDisposed() {\r
+ return NodeQuery.this.disposed;\r
+ }\r
+ \r
+ @Override\r
+ public void resultChangedRaw(Object oldResult, Object newResult) {\r
+ NodeQuery.this.resultChangedRaw(oldResult, newResult);\r
+ }\r
+ };\r
+ }\r
+ return listener;\r
+ }\r