public function validateCurrentAttributeValue(Controller $controller, Value $value)
 {
     $key = $controller->getAttributeKey();
     $controller->setAttributeValue($value);
     $response = new Response();
     if (method_exists($controller, 'validateValue')) {
         $validateResponse = $controller->validateValue();
         if ($validateResponse instanceof ErrorList) {
             foreach ($validateResponse->getList() as $error) {
                 $response->getErrorObject()->add($error);
             }
         } else {
             if ($validateResponse instanceof ErrorInterface) {
                 $response->getErrorObject()->add($validateResponse);
             } else {
                 if ($validateResponse == false) {
                     $response->getErrorObject()->add(new FieldNotPresentError(new Field($key->getAttributeKeyDisplayName())));
                 }
             }
         }
     }
     if ($response->getErrorObject()->has()) {
         $response->setIsValid(false);
     }
     return $response;
 }