<?php

namespace Proxies\__CG__\App\Entity;

/**
 * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR
 */
class TMainTargetsPlannings extends \App\Entity\TMainTargetsPlannings implements \Doctrine\ORM\Proxy\Proxy
{
    /**
     * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with
     *      three parameters, being respectively the proxy object to be initialized, the method that triggered the
     *      initialization process and an array of ordered parameters that were passed to that method.
     *
     * @see \Doctrine\Common\Proxy\Proxy::__setInitializer
     */
    public $__initializer__;

    /**
     * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object
     *
     * @see \Doctrine\Common\Proxy\Proxy::__setCloner
     */
    public $__cloner__;

    /**
     * @var boolean flag indicating if this object was already initialized
     *
     * @see \Doctrine\Persistence\Proxy::__isInitialized
     */
    public $__isInitialized__ = false;

    /**
     * @var array<string, null> properties to be lazy loaded, indexed by property name
     */
    public static $lazyPropertiesNames = array (
);

    /**
     * @var array<string, mixed> default values of properties to be lazy loaded, with keys being the property names
     *
     * @see \Doctrine\Common\Proxy\Proxy::__getLazyProperties
     */
    public static $lazyPropertiesDefaults = array (
);



    public function __construct(?\Closure $initializer = null, ?\Closure $cloner = null)
    {

        $this->__initializer__ = $initializer;
        $this->__cloner__      = $cloner;
    }







    /**
     * 
     * @return array
     */
    public function __sleep()
    {
        if ($this->__isInitialized__) {
            return ['__isInitialized__', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'id', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'financialYear', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'workflowStage', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraiser', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraiserSign', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraiserSignDate', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraisee', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraiseeSign', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraiseeSignDate', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'witness', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'witnessSign', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'witnessSignDate', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'creationDate', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'mainStructureLevel', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'mainStructureOffice', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'parties', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'preamble', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'statementOfResponsibility', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'visionMissionStrategicObjectives', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'statementOfStrategicIntent', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'committmentsAndObligations', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'reportingRequirements', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'durationOfPc', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'mainStructureOfficesPositions', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'tPcMatrixes', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'tPcMatrixesMilestones'];
        }

        return ['__isInitialized__', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'id', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'financialYear', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'workflowStage', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraiser', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraiserSign', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraiserSignDate', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraisee', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraiseeSign', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'appraiseeSignDate', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'witness', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'witnessSign', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'witnessSignDate', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'creationDate', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'mainStructureLevel', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'mainStructureOffice', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'parties', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'preamble', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'statementOfResponsibility', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'visionMissionStrategicObjectives', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'statementOfStrategicIntent', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'committmentsAndObligations', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'reportingRequirements', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'durationOfPc', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'mainStructureOfficesPositions', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'tPcMatrixes', '' . "\0" . 'App\\Entity\\TMainTargetsPlannings' . "\0" . 'tPcMatrixesMilestones'];
    }

    /**
     * 
     */
    public function __wakeup()
    {
        if ( ! $this->__isInitialized__) {
            $this->__initializer__ = function (TMainTargetsPlannings $proxy) {
                $proxy->__setInitializer(null);
                $proxy->__setCloner(null);

                $existingProperties = get_object_vars($proxy);

                foreach ($proxy::$lazyPropertiesDefaults as $property => $defaultValue) {
                    if ( ! array_key_exists($property, $existingProperties)) {
                        $proxy->$property = $defaultValue;
                    }
                }
            };

        }
    }

    /**
     * 
     */
    public function __clone()
    {
        $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []);
    }

    /**
     * Forces initialization of the proxy
     */
    public function __load()
    {
        $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []);
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __isInitialized()
    {
        return $this->__isInitialized__;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __setInitialized($initialized)
    {
        $this->__isInitialized__ = $initialized;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __setInitializer(\Closure $initializer = null)
    {
        $this->__initializer__ = $initializer;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __getInitializer()
    {
        return $this->__initializer__;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __setCloner(\Closure $cloner = null)
    {
        $this->__cloner__ = $cloner;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific cloning logic
     */
    public function __getCloner()
    {
        return $this->__cloner__;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     * @deprecated no longer in use - generated code now relies on internal components rather than generated public API
     * @static
     */
    public function __getLazyProperties()
    {
        return self::$lazyPropertiesDefaults;
    }

    
    /**
     * {@inheritDoc}
     */
    public function getId(): ?int
    {
        if ($this->__isInitialized__ === false) {
            return (int)  parent::getId();
        }


        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []);

        return parent::getId();
    }

    /**
     * {@inheritDoc}
     */
    public function getFinancialYear(): ?\App\Entity\TFinancialYears
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFinancialYear', []);

        return parent::getFinancialYear();
    }

    /**
     * {@inheritDoc}
     */
    public function setFinancialYear(?\App\Entity\TFinancialYears $financialYear): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFinancialYear', [$financialYear]);

        return parent::setFinancialYear($financialYear);
    }

    /**
     * {@inheritDoc}
     */
    public function getWorkflowStage(): ?\App\Entity\TWorkFlowStages
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getWorkflowStage', []);

        return parent::getWorkflowStage();
    }

    /**
     * {@inheritDoc}
     */
    public function setWorkflowStage(?\App\Entity\TWorkFlowStages $workflowStage): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setWorkflowStage', [$workflowStage]);

        return parent::setWorkflowStage($workflowStage);
    }

    /**
     * {@inheritDoc}
     */
    public function getAppraiser(): ?\App\Entity\TStaffMembers
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAppraiser', []);

        return parent::getAppraiser();
    }

    /**
     * {@inheritDoc}
     */
    public function setAppraiser(?\App\Entity\TStaffMembers $appraiser): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAppraiser', [$appraiser]);

        return parent::setAppraiser($appraiser);
    }

    /**
     * {@inheritDoc}
     */
    public function getAppraiserSign(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAppraiserSign', []);

        return parent::getAppraiserSign();
    }

    /**
     * {@inheritDoc}
     */
    public function setAppraiserSign(?string $appraiserSign): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAppraiserSign', [$appraiserSign]);

        return parent::setAppraiserSign($appraiserSign);
    }

    /**
     * {@inheritDoc}
     */
    public function getAppraiserSignDate(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAppraiserSignDate', []);

        return parent::getAppraiserSignDate();
    }

    /**
     * {@inheritDoc}
     */
    public function setAppraiserSignDate(?\DateTimeInterface $appraiserSignDate): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAppraiserSignDate', [$appraiserSignDate]);

        return parent::setAppraiserSignDate($appraiserSignDate);
    }

    /**
     * {@inheritDoc}
     */
    public function getAppraisee(): ?\App\Entity\TStaffMembers
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAppraisee', []);

        return parent::getAppraisee();
    }

    /**
     * {@inheritDoc}
     */
    public function setAppraisee(?\App\Entity\TStaffMembers $appraisee): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAppraisee', [$appraisee]);

        return parent::setAppraisee($appraisee);
    }

    /**
     * {@inheritDoc}
     */
    public function getAppraiseeSign(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAppraiseeSign', []);

        return parent::getAppraiseeSign();
    }

    /**
     * {@inheritDoc}
     */
    public function setAppraiseeSign(?string $appraiseeSign): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAppraiseeSign', [$appraiseeSign]);

        return parent::setAppraiseeSign($appraiseeSign);
    }

    /**
     * {@inheritDoc}
     */
    public function getAppraiseeSignDate(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAppraiseeSignDate', []);

        return parent::getAppraiseeSignDate();
    }

    /**
     * {@inheritDoc}
     */
    public function setAppraiseeSignDate(?\DateTimeInterface $appraiseeSignDate): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAppraiseeSignDate', [$appraiseeSignDate]);

        return parent::setAppraiseeSignDate($appraiseeSignDate);
    }

    /**
     * {@inheritDoc}
     */
    public function getWitness(): ?\App\Entity\TStaffMembers
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getWitness', []);

        return parent::getWitness();
    }

    /**
     * {@inheritDoc}
     */
    public function setWitness(?\App\Entity\TStaffMembers $witness): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setWitness', [$witness]);

        return parent::setWitness($witness);
    }

    /**
     * {@inheritDoc}
     */
    public function getWitnessSign(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getWitnessSign', []);

        return parent::getWitnessSign();
    }

    /**
     * {@inheritDoc}
     */
    public function setWitnessSign(?string $witnessSign): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setWitnessSign', [$witnessSign]);

        return parent::setWitnessSign($witnessSign);
    }

    /**
     * {@inheritDoc}
     */
    public function getWitnessSignDate(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getWitnessSignDate', []);

        return parent::getWitnessSignDate();
    }

    /**
     * {@inheritDoc}
     */
    public function setWitnessSignDate(?\DateTimeInterface $witnessSignDate): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setWitnessSignDate', [$witnessSignDate]);

        return parent::setWitnessSignDate($witnessSignDate);
    }

    /**
     * {@inheritDoc}
     */
    public function getCreationDate(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreationDate', []);

        return parent::getCreationDate();
    }

    /**
     * {@inheritDoc}
     */
    public function setCreationDate(?\DateTimeInterface $creationDate): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreationDate', [$creationDate]);

        return parent::setCreationDate($creationDate);
    }

    /**
     * {@inheritDoc}
     */
    public function getMainStructureLevel(): ?\App\Entity\TMainStructureLevels
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getMainStructureLevel', []);

        return parent::getMainStructureLevel();
    }

    /**
     * {@inheritDoc}
     */
    public function setMainStructureLevel(?\App\Entity\TMainStructureLevels $mainStructureLevel): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMainStructureLevel', [$mainStructureLevel]);

        return parent::setMainStructureLevel($mainStructureLevel);
    }

    /**
     * {@inheritDoc}
     */
    public function getMainStructureOffice(): ?\App\Entity\TMainStructureOffices
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getMainStructureOffice', []);

        return parent::getMainStructureOffice();
    }

    /**
     * {@inheritDoc}
     */
    public function setMainStructureOffice(?\App\Entity\TMainStructureOffices $mainStructureOffice): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMainStructureOffice', [$mainStructureOffice]);

        return parent::setMainStructureOffice($mainStructureOffice);
    }

    /**
     * {@inheritDoc}
     */
    public function getParties(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getParties', []);

        return parent::getParties();
    }

    /**
     * {@inheritDoc}
     */
    public function setParties(?string $parties): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setParties', [$parties]);

        return parent::setParties($parties);
    }

    /**
     * {@inheritDoc}
     */
    public function getPreamble(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPreamble', []);

        return parent::getPreamble();
    }

    /**
     * {@inheritDoc}
     */
    public function setPreamble(?string $preamble): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPreamble', [$preamble]);

        return parent::setPreamble($preamble);
    }

    /**
     * {@inheritDoc}
     */
    public function getStatementOfResponsibility(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getStatementOfResponsibility', []);

        return parent::getStatementOfResponsibility();
    }

    /**
     * {@inheritDoc}
     */
    public function setStatementOfResponsibility(?string $statementOfResponsibility): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setStatementOfResponsibility', [$statementOfResponsibility]);

        return parent::setStatementOfResponsibility($statementOfResponsibility);
    }

    /**
     * {@inheritDoc}
     */
    public function getVisionMissionStrategicObjectives(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getVisionMissionStrategicObjectives', []);

        return parent::getVisionMissionStrategicObjectives();
    }

    /**
     * {@inheritDoc}
     */
    public function setVisionMissionStrategicObjectives(?string $visionMissionStrategicObjectives): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setVisionMissionStrategicObjectives', [$visionMissionStrategicObjectives]);

        return parent::setVisionMissionStrategicObjectives($visionMissionStrategicObjectives);
    }

    /**
     * {@inheritDoc}
     */
    public function getStatementOfStrategicIntent(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getStatementOfStrategicIntent', []);

        return parent::getStatementOfStrategicIntent();
    }

    /**
     * {@inheritDoc}
     */
    public function setStatementOfStrategicIntent(?string $statementOfStrategicIntent): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setStatementOfStrategicIntent', [$statementOfStrategicIntent]);

        return parent::setStatementOfStrategicIntent($statementOfStrategicIntent);
    }

    /**
     * {@inheritDoc}
     */
    public function getCommittmentsAndObligations(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCommittmentsAndObligations', []);

        return parent::getCommittmentsAndObligations();
    }

    /**
     * {@inheritDoc}
     */
    public function setCommittmentsAndObligations(?string $committmentsAndObligations): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCommittmentsAndObligations', [$committmentsAndObligations]);

        return parent::setCommittmentsAndObligations($committmentsAndObligations);
    }

    /**
     * {@inheritDoc}
     */
    public function getReportingRequirements(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getReportingRequirements', []);

        return parent::getReportingRequirements();
    }

    /**
     * {@inheritDoc}
     */
    public function setReportingRequirements(?string $reportingRequirements): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setReportingRequirements', [$reportingRequirements]);

        return parent::setReportingRequirements($reportingRequirements);
    }

    /**
     * {@inheritDoc}
     */
    public function getDurationOfPc(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDurationOfPc', []);

        return parent::getDurationOfPc();
    }

    /**
     * {@inheritDoc}
     */
    public function setDurationOfPc(?string $durationOfPc): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDurationOfPc', [$durationOfPc]);

        return parent::setDurationOfPc($durationOfPc);
    }

    /**
     * {@inheritDoc}
     */
    public function getMainStructureOfficesPositions(): ?\App\Entity\TMainStructureOfficesPositions
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getMainStructureOfficesPositions', []);

        return parent::getMainStructureOfficesPositions();
    }

    /**
     * {@inheritDoc}
     */
    public function setMainStructureOfficesPositions(?\App\Entity\TMainStructureOfficesPositions $mainStructureOfficesPositions): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMainStructureOfficesPositions', [$mainStructureOfficesPositions]);

        return parent::setMainStructureOfficesPositions($mainStructureOfficesPositions);
    }

    /**
     * {@inheritDoc}
     */
    public function getTPcMatrixes(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTPcMatrixes', []);

        return parent::getTPcMatrixes();
    }

    /**
     * {@inheritDoc}
     */
    public function addTPcMatrix(\App\Entity\TPcMatrixes $tPcMatrix): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addTPcMatrix', [$tPcMatrix]);

        return parent::addTPcMatrix($tPcMatrix);
    }

    /**
     * {@inheritDoc}
     */
    public function removeTPcMatrix(\App\Entity\TPcMatrixes $tPcMatrix): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeTPcMatrix', [$tPcMatrix]);

        return parent::removeTPcMatrix($tPcMatrix);
    }

    /**
     * {@inheritDoc}
     */
    public function getTPcMatrixesMilestones(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTPcMatrixesMilestones', []);

        return parent::getTPcMatrixesMilestones();
    }

    /**
     * {@inheritDoc}
     */
    public function addTPcMatrixesMilestone(\App\Entity\TPcMatrixesMilestones $tPcMatrixesMilestone): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addTPcMatrixesMilestone', [$tPcMatrixesMilestone]);

        return parent::addTPcMatrixesMilestone($tPcMatrixesMilestone);
    }

    /**
     * {@inheritDoc}
     */
    public function removeTPcMatrixesMilestone(\App\Entity\TPcMatrixesMilestones $tPcMatrixesMilestone): \App\Entity\TMainTargetsPlannings
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeTPcMatrixesMilestone', [$tPcMatrixesMilestone]);

        return parent::removeTPcMatrixesMilestone($tPcMatrixesMilestone);
    }

}
