WHY ARE STRINGS IMMUTABLE IN JAVA? DETAILED EVALUATION FOR DESIGNERS