protected function additionalSavingTasks( Pg $pg, $simulate = false, array &$ignoreList = array(), $action = self::ACTION_OBJECT )
    {

        // additional saving tasks?
        $repository = $this->recordManager->entityManager->getRepository( $this->object->class );
        $normality = $repository->normality;

        // links
        if( isset( $normality['persist']['links'] ) ) {
            foreach( $normality['persist']['links'] as $link ) {

                $links = $repository->linksGet( $this->object, $link, Repository::CHANGED + Base::INITIAL );

                // save links
                if( $task = $this->recordManager->getTask( $links, Task::PERSIST, false ) ) {
                    $task->execute( $pg, $simulate, $ignoreList, self::ACTION_OBJECT );
                }

            }
        }

        // references
        if( isset( $normality['persist']['references'] ) ) {
            foreach( $normality['persist']['references'] as $reference ) {

                $references = $repository->referencesGet( $this->object, $reference, Repository::CHANGED );

                // save links
                if( $references and $task = $this->recordManager->getTask( $references, Task::PERSIST, false ) ) {
                    $task->execute( $pg, $simulate, $ignoreList, self::ACTION_OBJECT );
                }

            }
        }

        return true;

    }