Почитал что в помощи пишут, вроде как я правильно решил .-.
Почитай на вики про паттерн "Null Object".
Используй Files, чтобы в конструкторе класса Solution правильно инициализировать поле fileData объектом ConcreteFileData.
Если возникли какие-то проблемы со чтением файла по пути pathToFile, то инициализируй поле объектом NullFileData.
Требования:
Конструктор Solution должен инициализировать поле fileData объектом ConcreteFileData.
Если в конструкторе Solution возникла ошибка, нужно инициализировать поле fileData объектом NullFileData.
Конструктор Solution должен корректно устанавливать значение поля hidden у объекта ConcreteFileData.
Конструктор Solution должен корректно устанавливать значение поля executable у объекта ConcreteFileData.
Конструктор Solution должен корректно устанавливать значение поля directory у объекта ConcreteFileData.
Конструктор Solution должен корректно устанавливать значение поля writable у объекта ConcreteFileData.
"и чтобы не писать каждый раз Paths.get я создал его просто" - так создай его просто используя Paths.get, зачем ты создаёшь ненужный объект File, только ради того что-бы создать из него объект Path? ¯\_(ツ)_/¯