It's time to make immutability the default
Right. I have to get this off my chest. A follow-on from my habitual coding  observation in my previous article .   How many people habitually write Java code like this? (Clue: I see it a lot)   public class Article {     private String title;     private String author;     private List  tags;      public void setTags(List  tags) {         this.tags = tags;     }      public void setAuthor(String author) {         this.author = author;     }      public void setTitle(String title) {         this.title = title;     }      public String getTitle() {         return title;     }      public String getAuthor() {         return author;     }      public List  getTags() {         return tags;     } }   Then you can create an object an use it with something like:      Article article = new Article();     article.setAuthor("Cam M. Bert");     article.setTitle("French Cheeses");     article.setTags(Collections.asList("cheese", "food"));      // etc etc   G...