private function getValue()
 {
     if ($this->isPublic) {
         $refl = new ReflectionClass($this->className);
         $val = $refl->getStaticPropertyValue($this->propertyName);
     } else {
         $val = call_user_func(array($this->className, yTest_AddPublicAccessors::getGetterName($this->className, $this->propertyName)));
     }
     yTest_debugCC('getValue ' . $this->className . '::' . $this->propertyName . ' = ' . var_export($val, true));
     return $val;
 }
 public final function getStaticProperty($className, $propertyName)
 {
     if (!yTest_Reflection::isStaticProperty($className, $propertyName)) {
         throw yTest_Exception::noSuch("static property", "{$className}::{$propertyName}");
     }
     $isPublic = yTest_Reflection::isPropertyPublic($className, $propertyName);
     if ($isPublic) {
         $ref = new ReflectionClass($className);
         return $ref->getStaticPropertyValue($propertyName);
     } else {
         $this->letMeAccess($className, $propertyName);
         return call_user_func(array($className, yTest_AddPublicAccessors::getGetterName($className, $propertyName)));
     }
     // [RS] PHP >= 5.3 :
     //~ $ref = new ReflectionProperty($className, $propertyName);
     //~ return $ref->getValue(null);
 }