Question: ```
public void setSpeciality(String spec) {
    if(specialities.stream().anyMatch(s-> s.equalsIgnoreCase(spec))) {
        speciality =spec;
    }
    else
    speciality = "General Practitioner";
}

```

I need to search an array list called specialities (case insensitive) ^ see my attempt at an answer^ but cant figure out what in my answer is wrong.

Answer: 
just include, `speciality =spec.toLowerCase();` and convert the first character to uppercase

```
public void setSpeciality(String spec) {
    if(specialities.stream().anyMatch(s-> s.equalsIgnoreCase(spec))) {
        speciality =spec.toLowerCase();
        speciality = String.valueOf((speciality.charAt(0)).toUpperCase())  + speciality.substring(1) ;
    }
    else {
          speciality = "General Practitioner";
    }
}

```
You are overriding speciality so every time you will be getting same result.

change code like below

```
    public void setSpeciality(String spec) {
       if(specialities.stream().anyMatch(s-> s.equalsIgnoreCase(spec))) {
            speciality =spec;
       }else{
           speciality = "General Practitioner";
       }
     }

```