Polymorphic interface for OpticsTask that accepts FileNode objects