docs: @SuppressWarnings("unchecked")
      public boolean tryStart(final ProcessorGraphNode processorGraphNode) {
          this.processorLock.lock();
          final boolean canStart;
          try {
              if (isRunning(processorGraphNode) || isFinished(processorGraphNode) ||
                      !allAreFinished(processorGraphNode.getRequirements())) {
                  canStart = false;
              } else {
                  started(processorGraphNode);
                  canStart = true;
              }
          } finally {
              this.processorLock.unlock();
          }
  
          return canStart;
      }