@Override
  protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor)
      throws CoreException {
    if (kind == AUTO_BUILD || kind == INCREMENTAL_BUILD) {
      ChangeDetector visitor =
          new ChangeDetector(genmodelProvider.getGeneratorModelPath(getProject()));
      getDelta(getProject()).accept(visitor);
      if (visitor.isChangeFound()) {
        getProject()
            .accept(
                new IResourceVisitor() {

                  @Override
                  public boolean visit(IResource resource) throws CoreException {
                    final String extension = resource.getFileExtension();
                    if ("vql".equals(extension)) {
                      resource.touch(new NullProgressMonitor());
                    }
                    return false;
                  }
                });
      }
    }
    return null;
  }