code: public static NarProperties getInstance(final MavenProject project) throws MojoFailureException {
      NarProperties instance = instances.get(project);
      if (instance == null) {
        if (project == null) {
            instance = new NarProperties(project, null, null);
        } else {
          String customPropertyLocation = project.getProperties().getProperty(CUSTOM_AOL_PROPERTY_KEY);
          if (customPropertyLocation == null) {
            // Try and read from the system property in case it's specified there
            customPropertyLocation = System.getProperties().getProperty(CUSTOM_AOL_PROPERTY_KEY);
          }
          File narFile = (customPropertyLocation != null) ? new File(customPropertyLocation) :
              new File(project.getBasedir(), AOL_PROPERTIES);
          if (narFile.exists()) {
            instance = new NarProperties(project, narFile, customPropertyLocation);
          } else {
            // use instance from parent
            instance = getInstance(project.getParent());
          }
        }
        instances.put(project,instance);
      }
      return instance;
    }
docs: Retrieve the NarProperties
  
  @param project
  may be null
  @return
  @throws MojoFailureException