protected function makeableSafetyCheck()
    {
        // makeable check
        switch( $this->makeable ) {
            case self::MAKEABLE_DISABLE:
                return false;
            case self::MAKEABLE_EXCEPTION:
                throw new EntityNotMakeableException("Making objects of this type is restricted. Are you using a view or some other derived data.");
        }
        return true;
    }