I made my class immutable by following all java standards
A. Defined class as final B. declared all fields as private and final C. No setter method D. No met
Yes, still it can be modified through reflection. Apart from that it seems you took required care to make it immutable.