examples and practise of tips given in Effective Java