I have a problem with Scanner in Java. I have a method parsing `System.in` and creating an object bases on this data. But if I create `Scanner` inside the method, I have 2 ways to do that, i.e. with closing and without. In the first case, `Scanner.close()` closes `System.in` too, otherwise it buffers in advance and the characters it has buffered become unreachable from another Scanner. 
So that now I pass a `Scanner` instance into method. But it can't be reliable if you need to read from console another object e.g. via `BufferedReader`. In addition, it seems not to be a really clean design solution.