original_string: public function fromArray(array $source)
      {
          foreach ($this->getReflector()->getProperties(\ReflectionProperty::IS_PROTECTED) as $reflectionProperty) {
              if (!$reflectionProperty->isStatic() && isset($source[$reflectionProperty->getName()])) {
                  $reflectionProperty->setAccessible(true);
                  $reflectionProperty->setValue($this, $source[$reflectionProperty->getName()]);
              }
          }
          return $this;
      }
code: public function fromArray(array $source)
      {
          foreach ($this->getReflector()->getProperties(\ReflectionProperty::IS_PROTECTED) as $reflectionProperty) {
              if (!$reflectionProperty->isStatic() && isset($source[$reflectionProperty->getName()])) {
                  $reflectionProperty->setAccessible(true);
                  $reflectionProperty->setValue($this, $source[$reflectionProperty->getName()]);
              }
          }
          return $this;
      }
code_tokens: public function fromArray ( array $ source ) { foreach ( $ this -> getReflector ( ) -> getProperties ( \ ReflectionProperty :: IS_PROTECTED ) as $ reflectionProperty ) { if ( ! $ reflectionProperty -> isStatic ( ) && isset ( $ source [ $ reflectionProperty -> getName ( ) ] ) ) { $ reflectionProperty -> setAccessible ( true ) ; $ reflectionProperty -> setValue ( $ this , $ source [ $ reflectionProperty -> getName ( ) ] ) ; } } return $ this ; }
docstring: Set protected propertie according to provided source.
  @param array source data.
  @return $this
docstring_tokens: Set protected propertie according to provided source .