/**
     * @return void
     */
    private function fetchClassMembers(OrmProperty $property)
    {
        $visibility = $property->getVisibility();
        if ($visibility->is(OrmPropertyVisibility::TRANSPARENT)) {
            return;
        }
        $type = $property->getType();
        // make property itself
        $this->classProperties[] = $type->toField($this->ormClass, $property);
        // make setter
        if ($visibility->isSettable()) {
            $this->classMethods[] = $type->toSetter($this->ormClass, $property);
            if ($property->isIdentifier()) {
                $this->classMethods[] = <<<EOT
\tfunction _setId(\$id)
\t{
\t\t\$this->{$property->getSetter()}(\$id);

\t\treturn \$this;
\t}
EOT;
            }
        }
        // make getter
        if ($visibility->isGettable()) {
            $this->classMethods[] = $type->toGetter($this->ormClass, $property);
            if ($property->isIdentifier()) {
                $this->classMethods[] = <<<EOT
\tfunction _getId()
\t{
\t\treturn \$this->{$property->getGetter()}();
\t}
EOT;
            }
        }
    }