class OperationWrapper {

    public boolean isReady(ExecutorContext executorContext, Set<String> completedOperations)
    {
        if(completedOperations.containsAll(dependencies))
        {
            // promising... now try the actual reference replace
            if(updateReadiness(evaluateReferences(executorContext)))
            {
                return true;
            }
            else
            {
                throw new RuntimeException("All dependencies have been completed but there are still pending references.");
            }
        }
        return false;
    }

    public  OperationWrapper(Operation operation);

}