A strategy for discovering the structure of a project. Implementations could read a pom.xml, a Gradle build file, a makefile...