Simple conditional Gateway with object evaluation

I have the following bpmn process. The review Person is called successfully and I can see the personDto object exists when I step debug code in the ReviewPerson java class.

However it does not make it as far as Meat Pizza or Vegetarian Pizza. The logic gate isnt workng.

The classes Im using look like this

    public class PersonDto implements Serializable {
        private static final long serialVersionUID = 9l;
        public String name;
        public Boolean isVegetarian;
        public Boolean isVegetarian(){
            return isVegetarian;
        }
    }

Part of code that calls the method looks like this

PersonDto personDto = new PersonDto();
personDto.setIsVegetarian(true);

Map<String,Object> vars = new HashMap<>();
ObjectValue personVal = Variables.objectValue(personDto)
  .serializationDataFormat(Variables.SerializationDataFormats.JAVA)
  .create();
vars.put("personDto", personVal);

ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("OrderPizza", vars);

log.info("process instanceId:{} processId:{}", processInstance.getProcessInstanceId(), processInstance.getId());
return processInstance;

The error im getting is
org.camunda.bpm.engine.ProcessEngineException: condition expression returns non-Boolean: result has class java.lang.String and not java.lang.Boolean

My thinking is its.
I dont have the condition expression type setup incorrectly? If you look in the screenshot on the properties bit I have set the expression as

personDto.isVegetarian==true

Not sure I have done that part correctly?

Also do I need to set Input/Output part of the ReviewPerson task?

try putting the expression inside brackets like this

#{personDto.isVegetarian==true}

Works perfect thankyou Niall.