counts.lengthってcounts.sizeの間違いじゃないの?
配列でもないのに長さってありえる?