protected abstract void fields(Visitor v,M other);

protected abstract void fields ( Visitor v , M other ) ;
plug in all the fields of your object here , and then they will be included in equals , hashcode and tostring .
