public static function createOperation( core_kernel_rules_Term $term1,  core_kernel_rules_Term $term2,  core_kernel_classes_Resource $operator)
    {
        $returnValue = null;

        
        $operationClass = new core_kernel_classes_Class(RulesRdf::CLASS_OPERATION,__METHOD__);
        $label = 'Def Operation Label ' . $term1->getLabel() . ' ' . $operator->getLabel() . ' ' . $term2->getLabel();
        $comment = 'Def Operation Comment ' . $term1->getUri() . ' ' . $operator->getUri(). ' ' . $term2->getUri();
		$operatorProperty = new core_kernel_classes_Property(RulesRdf::PROPERTY_OPERATION_OPERATOR,__METHOD__);
        $firstOperand = new core_kernel_classes_Property(RulesRdf::PROPERTY_OPERATION_FIRST_OP,__METHOD__);
		$secondOperand = new core_kernel_classes_Property(RulesRdf::PROPERTY_OPERATION_SECOND_OP,__METHOD__);
        $termOperationInstance = core_kernel_classes_ResourceFactory::create($operationClass,$label,$comment);
        $returnValue = new core_kernel_rules_Operation($termOperationInstance->getUri());
        $returnValue->debug = __METHOD__;
        $returnValue->setPropertyValue($operatorProperty,$operator->getUri());
        $returnValue->setPropertyValue($firstOperand,$term1->getUri());
		$returnValue->setPropertyValue($secondOperand,$term2->getUri());
        

        return $returnValue;
    }