1) The class was taken from Plexus Utils 3.3.1.  
2) Yes, the class now uses generics, while it did not before. Specifically, the basedir no longer needs to be of type File. 
3) See 2)
4) No. Overall the changes are very large (not to this class specifically) and the plexus-utils module includes way more than we need.