For example (String in this case):
ArrayLIst<String> list = new ArrayList<String>();
What logic is behind it? Should I repeat it always or only in some cases? Or maybe avoid it? Code seems to be more neat without repeating and is obviously shorter.