switched to reflection for equals, hashCode, toString
FilePlunkerImpl uses google cache to manage open files