/**
  * Return dependancy computing between this resource, and an other resource, asserting that this
  * resource is contained in this resource's dependant resources
  *
  * @param resource
  * @param dependancyScheme
  * @return
  */
 @Override
 public boolean optimisticallyDependsOf(FlexoResource resource, Date requestDate) {
   if (resource instanceof FlexoProcessResource) {
     FlexoProcessResource processRes = (FlexoProcessResource) resource;
     if (processRes.isLoaded()) {
       FlexoProcess concernedProcess = processRes.getResourceData();
       if (getGenerator() != null) {
         boolean iCanBeOptimistic = true;
         for (ComponentInstance ci :
             getGenerator().getComponentDefinition().getComponentInstances()) {
           if (ci instanceof OperationComponentInstance) {
             OperationNode operationNode = ((OperationComponentInstance) ci).getOperationNode();
             if (operationNode.getProcess() == concernedProcess) {
               if (!operationNode.getLastUpdate().before(requestDate)) {
                 iCanBeOptimistic = false;
               }
             }
           }
         }
         if (iCanBeOptimistic) {
           return false;
         }
       }
     }
   }
   return super.optimisticallyDependsOf(resource, requestDate);
 }