/**
  * If the attribute is not on the same model class but nested up, it should be blocked from being configured
  * in the designer tool since it can have side effects. You can still manually override this in the code if
  * necessary.
  */
 protected function isAttributeOnModelOrCastedUp($attributeName)
 {
     assert('is_string($attributeName)');
     $attributeAdapter = new RedBeanModelAttributeToDataProviderAdapter($this->modelClassName, $attributeName);
     if (!$attributeAdapter->getModel()->isAttribute($attributeName)) {
         return false;
     }
     if ($attributeAdapter->getAttributeModelClassName() != $this->modelClassName) {
         return true;
     }
     return false;
 }