docs: public static PropertyResolver createPrefixedResolver(final PropertyResolver resolver, String providerName, String pluginType) {
          final String projectPrefix = projectPropertyPrefix(pluginPropertyPrefix(pluginType, providerName));
          final String frameworkPrefix = frameworkPropertyPrefix(pluginPropertyPrefix(pluginType, providerName));
          return new PropertyResolver(){
              public Object resolvePropertyValue(String name, PropertyScope scope) {
                  String value = null;
                  if (scope.isInstanceLevel()) {
                      value = (String)resolver.resolvePropertyValue(name,scope);
                  }
                  if (null != value || scope == PropertyScope.InstanceOnly) {
                      return value;
                  }
  
                  if (scope.isProjectLevel()) {
                      value = (String) resolver.resolvePropertyValue(projectPrefix + name, scope);
                  }
                  if (null != value || scope == PropertyScope.ProjectOnly) {
                      return value;
                  }
  
                  value = (String) resolver.resolvePropertyValue(frameworkPrefix + name, scope);
                  return value;
              }
          };
  
      }