@Override
 public boolean isScrollbarVisible() {
   return MozillaExecutor.mozSyncExecQuiet(
       new Callable<Boolean>() {
         @Override
         public Boolean call() throws Exception {
           return browser.getWebBrowser().getContentDOMWindow().getScrollbars().getVisible();
         }
       });
 }
 @Override
 public void scrollTo(final int xScroll, final int yScroll) {
   MozillaExecutor.mozSyncExec(
       new Runnable() {
         @Override
         public void run() {
           browser.getWebBrowser().getContentDOMWindow().scrollTo(xScroll, yScroll);
         }
       });
 }
 @Override
 public void scrollByPages(final int numPages) {
   MozillaExecutor.mozSyncExec(
       new Runnable() {
         @Override
         public void run() {
           browser.getWebBrowser().getContentDOMWindow().scrollByPages(numPages);
         }
       });
 }
 @Override
 public void setScrollbarVisibile(final boolean visible) {
   MozillaExecutor.mozSyncExec(
       new Runnable() {
         @Override
         public void run() {
           browser.getWebBrowser().getContentDOMWindow().getScrollbars().setVisible(visible);
         }
       });
 }
 @Override
 public int getScrollY() {
   return MozillaExecutor.mozSyncExecQuiet(
       new Callable<Integer>() {
         @Override
         public Integer call() throws Exception {
           return browser.getWebBrowser().getContentDOMWindow().getScrollY();
         }
       });
 }
 public BrowserManager buildBrowserManager() {
   JBrowserManager jBrowserManager = new JBrowserManager(this);
   MozillaExecutor.setBrowserMangerInitilized(true);
   return jBrowserManager;
 }