func (o *W2) GetRetirementPlan() string {
	if o == nil || o.RetirementPlan.Get() == nil {
		var ret string
		return ret
	}
	return *o.RetirementPlan.Get()
}
GetRetirementPlan returns the RetirementPlan field value if set, zero value otherwise (both if not set or set to explicit null).
package plaid
import (
	"encoding/json"
)
type W2 struct {
	Employer *PaystubEmployer `json:"employer,omitempty"`
	Employee *Employee `json:"employee,omitempty"`
	TaxYear NullableString `json:"tax_year,omitempty"`
	EmployerIdNumber NullableString `json:"employer_id_number,omitempty"`
	WagesTipsOtherComp NullableString `json:"wages_tips_other_comp,omitempty"`
	FederalIncomeTaxWithheld NullableString `json:"federal_income_tax_withheld,omitempty"`
	SocialSecurityWages NullableString `json:"social_security_wages,omitempty"`
	SocialSecurityTaxWithheld NullableString `json:"social_security_tax_withheld,omitempty"`
	MedicareWagesAndTips NullableString `json:"medicare_wages_and_tips,omitempty"`
	MedicareTaxWithheld NullableString `json:"medicare_tax_withheld,omitempty"`
	SocialSecurityTips NullableString `json:"social_security_tips,omitempty"`
	AllocatedTips NullableString `json:"allocated_tips,omitempty"`
	Box9 NullableString `json:"box_9,omitempty"`
	DependentCareBenefits NullableString `json:"dependent_care_benefits,omitempty"`
	NonqualifiedPlans NullableString `json:"nonqualified_plans,omitempty"`
	Box12 *[]W2Box12 `json:"box_12,omitempty"`
	StatutoryEmployee NullableString `json:"statutory_employee,omitempty"`
	RetirementPlan NullableString `json:"retirement_plan,omitempty"`
	ThirdPartySickPay NullableString `json:"third_party_sick_pay,omitempty"`
	Other NullableString `json:"other,omitempty"`
	StateAndLocalWages *[]W2StateAndLocalWages `json:"state_and_local_wages,omitempty"`
	AdditionalProperties map[string]interface{}
}
type _W2 W2
func NewW2() *W2 {
	this := W2{}
	return &this
}
func NewW2WithDefaults() *W2 {
	this := W2{}
	return &this
}
func (o *W2) GetEmployer() PaystubEmployer {
	if o == nil || o.Employer == nil {
		var ret PaystubEmployer
		return ret
	}
	return *o.Employer
}
func (o *W2) GetEmployerOk() (*PaystubEmployer, bool) {
	if o == nil || o.Employer == nil {
		return nil, false
	}
	return o.Employer, true
}
func (o *W2) HasEmployer() bool {
	if o != nil && o.Employer != nil {
		return true
	}
	return false
}
func (o *W2) SetEmployer(v PaystubEmployer) {
	o.Employer = &v
}
func (o *W2) GetEmployee() Employee {
	if o == nil || o.Employee == nil {
		var ret Employee
		return ret
	}
	return *o.Employee
}
func (o *W2) GetEmployeeOk() (*Employee, bool) {
	if o == nil || o.Employee == nil {
		return nil, false
	}
	return o.Employee, true
}
func (o *W2) HasEmployee() bool {
	if o != nil && o.Employee != nil {
		return true
	}
	return false
}
func (o *W2) SetEmployee(v Employee) {
	o.Employee = &v
}
func (o *W2) GetTaxYear() string {
	if o == nil || o.TaxYear.Get() == nil {
		var ret string
		return ret
	}
	return *o.TaxYear.Get()
}
func (o *W2) GetTaxYearOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.TaxYear.Get(), o.TaxYear.IsSet()
}
func (o *W2) HasTaxYear() bool {
	if o != nil && o.TaxYear.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetTaxYear(v string) {
	o.TaxYear.Set(&v)
}
func (o *W2) SetTaxYearNil() {
	o.TaxYear.Set(nil)
}
func (o *W2) UnsetTaxYear() {
	o.TaxYear.Unset()
}
func (o *W2) GetEmployerIdNumber() string {
	if o == nil || o.EmployerIdNumber.Get() == nil {
		var ret string
		return ret
	}
	return *o.EmployerIdNumber.Get()
}
func (o *W2) GetEmployerIdNumberOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.EmployerIdNumber.Get(), o.EmployerIdNumber.IsSet()
}
func (o *W2) HasEmployerIdNumber() bool {
	if o != nil && o.EmployerIdNumber.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetEmployerIdNumber(v string) {
	o.EmployerIdNumber.Set(&v)
}
func (o *W2) SetEmployerIdNumberNil() {
	o.EmployerIdNumber.Set(nil)
}
func (o *W2) UnsetEmployerIdNumber() {
	o.EmployerIdNumber.Unset()
}
func (o *W2) GetWagesTipsOtherComp() string {
	if o == nil || o.WagesTipsOtherComp.Get() == nil {
		var ret string
		return ret
	}
	return *o.WagesTipsOtherComp.Get()
}
func (o *W2) GetWagesTipsOtherCompOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.WagesTipsOtherComp.Get(), o.WagesTipsOtherComp.IsSet()
}
func (o *W2) HasWagesTipsOtherComp() bool {
	if o != nil && o.WagesTipsOtherComp.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetWagesTipsOtherComp(v string) {
	o.WagesTipsOtherComp.Set(&v)
}
func (o *W2) SetWagesTipsOtherCompNil() {
	o.WagesTipsOtherComp.Set(nil)
}
func (o *W2) UnsetWagesTipsOtherComp() {
	o.WagesTipsOtherComp.Unset()
}
func (o *W2) GetFederalIncomeTaxWithheld() string {
	if o == nil || o.FederalIncomeTaxWithheld.Get() == nil {
		var ret string
		return ret
	}
	return *o.FederalIncomeTaxWithheld.Get()
}
func (o *W2) GetFederalIncomeTaxWithheldOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.FederalIncomeTaxWithheld.Get(), o.FederalIncomeTaxWithheld.IsSet()
}
func (o *W2) HasFederalIncomeTaxWithheld() bool {
	if o != nil && o.FederalIncomeTaxWithheld.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetFederalIncomeTaxWithheld(v string) {
	o.FederalIncomeTaxWithheld.Set(&v)
}
func (o *W2) SetFederalIncomeTaxWithheldNil() {
	o.FederalIncomeTaxWithheld.Set(nil)
}
func (o *W2) UnsetFederalIncomeTaxWithheld() {
	o.FederalIncomeTaxWithheld.Unset()
}
func (o *W2) GetSocialSecurityWages() string {
	if o == nil || o.SocialSecurityWages.Get() == nil {
		var ret string
		return ret
	}
	return *o.SocialSecurityWages.Get()
}
func (o *W2) GetSocialSecurityWagesOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.SocialSecurityWages.Get(), o.SocialSecurityWages.IsSet()
}
func (o *W2) HasSocialSecurityWages() bool {
	if o != nil && o.SocialSecurityWages.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetSocialSecurityWages(v string) {
	o.SocialSecurityWages.Set(&v)
}
func (o *W2) SetSocialSecurityWagesNil() {
	o.SocialSecurityWages.Set(nil)
}
func (o *W2) UnsetSocialSecurityWages() {
	o.SocialSecurityWages.Unset()
}
func (o *W2) GetSocialSecurityTaxWithheld() string {
	if o == nil || o.SocialSecurityTaxWithheld.Get() == nil {
		var ret string
		return ret
	}
	return *o.SocialSecurityTaxWithheld.Get()
}
func (o *W2) GetSocialSecurityTaxWithheldOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.SocialSecurityTaxWithheld.Get(), o.SocialSecurityTaxWithheld.IsSet()
}
func (o *W2) HasSocialSecurityTaxWithheld() bool {
	if o != nil && o.SocialSecurityTaxWithheld.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetSocialSecurityTaxWithheld(v string) {
	o.SocialSecurityTaxWithheld.Set(&v)
}
func (o *W2) SetSocialSecurityTaxWithheldNil() {
	o.SocialSecurityTaxWithheld.Set(nil)
}
func (o *W2) UnsetSocialSecurityTaxWithheld() {
	o.SocialSecurityTaxWithheld.Unset()
}
func (o *W2) GetMedicareWagesAndTips() string {
	if o == nil || o.MedicareWagesAndTips.Get() == nil {
		var ret string
		return ret
	}
	return *o.MedicareWagesAndTips.Get()
}
func (o *W2) GetMedicareWagesAndTipsOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.MedicareWagesAndTips.Get(), o.MedicareWagesAndTips.IsSet()
}
func (o *W2) HasMedicareWagesAndTips() bool {
	if o != nil && o.MedicareWagesAndTips.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetMedicareWagesAndTips(v string) {
	o.MedicareWagesAndTips.Set(&v)
}
func (o *W2) SetMedicareWagesAndTipsNil() {
	o.MedicareWagesAndTips.Set(nil)
}
func (o *W2) UnsetMedicareWagesAndTips() {
	o.MedicareWagesAndTips.Unset()
}
func (o *W2) GetMedicareTaxWithheld() string {
	if o == nil || o.MedicareTaxWithheld.Get() == nil {
		var ret string
		return ret
	}
	return *o.MedicareTaxWithheld.Get()
}
func (o *W2) GetMedicareTaxWithheldOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.MedicareTaxWithheld.Get(), o.MedicareTaxWithheld.IsSet()
}
func (o *W2) HasMedicareTaxWithheld() bool {
	if o != nil && o.MedicareTaxWithheld.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetMedicareTaxWithheld(v string) {
	o.MedicareTaxWithheld.Set(&v)
}
func (o *W2) SetMedicareTaxWithheldNil() {
	o.MedicareTaxWithheld.Set(nil)
}
func (o *W2) UnsetMedicareTaxWithheld() {
	o.MedicareTaxWithheld.Unset()
}
func (o *W2) GetSocialSecurityTips() string {
	if o == nil || o.SocialSecurityTips.Get() == nil {
		var ret string
		return ret
	}
	return *o.SocialSecurityTips.Get()
}
func (o *W2) GetSocialSecurityTipsOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.SocialSecurityTips.Get(), o.SocialSecurityTips.IsSet()
}
func (o *W2) HasSocialSecurityTips() bool {
	if o != nil && o.SocialSecurityTips.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetSocialSecurityTips(v string) {
	o.SocialSecurityTips.Set(&v)
}
func (o *W2) SetSocialSecurityTipsNil() {
	o.SocialSecurityTips.Set(nil)
}
func (o *W2) UnsetSocialSecurityTips() {
	o.SocialSecurityTips.Unset()
}
func (o *W2) GetAllocatedTips() string {
	if o == nil || o.AllocatedTips.Get() == nil {
		var ret string
		return ret
	}
	return *o.AllocatedTips.Get()
}
func (o *W2) GetAllocatedTipsOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.AllocatedTips.Get(), o.AllocatedTips.IsSet()
}
func (o *W2) HasAllocatedTips() bool {
	if o != nil && o.AllocatedTips.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetAllocatedTips(v string) {
	o.AllocatedTips.Set(&v)
}
func (o *W2) SetAllocatedTipsNil() {
	o.AllocatedTips.Set(nil)
}
func (o *W2) UnsetAllocatedTips() {
	o.AllocatedTips.Unset()
}
func (o *W2) GetBox9() string {
	if o == nil || o.Box9.Get() == nil {
		var ret string
		return ret
	}
	return *o.Box9.Get()
}
func (o *W2) GetBox9Ok() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.Box9.Get(), o.Box9.IsSet()
}
func (o *W2) HasBox9() bool {
	if o != nil && o.Box9.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetBox9(v string) {
	o.Box9.Set(&v)
}
func (o *W2) SetBox9Nil() {
	o.Box9.Set(nil)
}
func (o *W2) UnsetBox9() {
	o.Box9.Unset()
}
func (o *W2) GetDependentCareBenefits() string {
	if o == nil || o.DependentCareBenefits.Get() == nil {
		var ret string
		return ret
	}
	return *o.DependentCareBenefits.Get()
}
func (o *W2) GetDependentCareBenefitsOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.DependentCareBenefits.Get(), o.DependentCareBenefits.IsSet()
}
func (o *W2) HasDependentCareBenefits() bool {
	if o != nil && o.DependentCareBenefits.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetDependentCareBenefits(v string) {
	o.DependentCareBenefits.Set(&v)
}
func (o *W2) SetDependentCareBenefitsNil() {
	o.DependentCareBenefits.Set(nil)
}
func (o *W2) UnsetDependentCareBenefits() {
	o.DependentCareBenefits.Unset()
}
func (o *W2) GetNonqualifiedPlans() string {
	if o == nil || o.NonqualifiedPlans.Get() == nil {
		var ret string
		return ret
	}
	return *o.NonqualifiedPlans.Get()
}
func (o *W2) GetNonqualifiedPlansOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.NonqualifiedPlans.Get(), o.NonqualifiedPlans.IsSet()
}
func (o *W2) HasNonqualifiedPlans() bool {
	if o != nil && o.NonqualifiedPlans.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetNonqualifiedPlans(v string) {
	o.NonqualifiedPlans.Set(&v)
}
func (o *W2) SetNonqualifiedPlansNil() {
	o.NonqualifiedPlans.Set(nil)
}
func (o *W2) UnsetNonqualifiedPlans() {
	o.NonqualifiedPlans.Unset()
}
func (o *W2) GetBox12() []W2Box12 {
	if o == nil || o.Box12 == nil {
		var ret []W2Box12
		return ret
	}
	return *o.Box12
}
func (o *W2) GetBox12Ok() (*[]W2Box12, bool) {
	if o == nil || o.Box12 == nil {
		return nil, false
	}
	return o.Box12, true
}
func (o *W2) HasBox12() bool {
	if o != nil && o.Box12 != nil {
		return true
	}
	return false
}
func (o *W2) SetBox12(v []W2Box12) {
	o.Box12 = &v
}
func (o *W2) GetStatutoryEmployee() string {
	if o == nil || o.StatutoryEmployee.Get() == nil {
		var ret string
		return ret
	}
	return *o.StatutoryEmployee.Get()
}
func (o *W2) GetStatutoryEmployeeOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.StatutoryEmployee.Get(), o.StatutoryEmployee.IsSet()
}
func (o *W2) HasStatutoryEmployee() bool {
	if o != nil && o.StatutoryEmployee.IsSet() {
		return true
	}
	return false
}
func (o *W2) SetStatutoryEmployee(v string) {
	o.StatutoryEmployee.Set(&v)
}
func (o *W2) SetStatutoryEmployeeNil() {
	o.StatutoryEmployee.Set(nil)
}
func (o *W2) UnsetStatutoryEmployee() {
	o.StatutoryEmployee.Unset()
}