Rakovskiy, могу свою реализацию написать, но я бы сделал не так как ты, я вообще удивился такому классу если честно