public void run() {
      processing = true;
      try {
        while (true) {
          FileObject path = myPaths.take();

          if (path == myStopThreadToken) {
            break;
          }
          processPath(path, myProject);
        }
      } catch (InterruptedException e) {
        LOG.error(e);
      } catch (CacheCorruptedException e) {
        myError = e;
      } finally {
        processing = false;
      }
    }