code: @Override
      public PropertyMap getResourceAsProperties(String path, InputStream input,
                                                 PropertyMap substitutions)
          throws IOException {
          
          if (input == null) { return null; }
          Reader reader = new InputStreamReader(input);
          
          // get associated factory
          PropertyMapFactory factory = 
              PropertyMapFactoryProvider.createPropertyMapFactory(path, reader,
                                                                  substitutions);
          
          // return properties
          return factory.createProperties();
      }
docs: {@inheritDoc}