code: public boolean canRun(final ResourceList resources) {
          try {
              return _withLock(new Callable<Boolean>() {
                  @Override
                  public Boolean call() {
                      return !inUse.isCollidingWith(resources);
                  }
              });
          } catch (Exception e) {
              throw new IllegalStateException("Inner callable does not throw exception");
          }
      }
docs: Checks if an activity that requires the given resource list
  can run immediately.
  
  <p>
  This method is really only useful as a hint, since
  another activity might acquire resources before the caller
  gets to call {@link #execute(Runnable, ResourceActivity)}.