Shawn: Isn't this safe?. What would happen, should two threads enter this method at the same time is that two File objects gets constructed, which is a performance problem, but not a safety problem. This method could construct a new File instance every time.