private function getIsZombieFunction()
    {

        // get primary key reference columns
        $zombieTests = $this->pgClass->getAttributes()->filter(
            function ($e) {
                return $e->isZombie();
            }
        )->map(
            function ($zombieCol) {
                return sprintf(
                    "( null === \$this->data['%s'] )",
                    addslashes( $zombieCol->name )
                );
            }
        );

        if( $zombieTests ) {

            $this->class->classComponents[] = new FunctionDeclaration(
                'data',
                new Sformatf( <<<'PHP'
                    /**
                     * Is a zombie object?
                     * @inheritDoc
                     */
                    public function isZombie()
                    {
                        return %s;
                    }
PHP
                    , implode( " or ", $zombieTests )
                )
            );
        }

    }