{
  "groups": [
    {
      "name": "spring.foo",
      "type": "org.acme.Foo",
      "sourceType": "org.acme.config.FooApp",
      "sourceMethod": "foo()",
      "description": "This is Foo."
    },
    {
      "name": "spring.foo",
      "type": "org.springframework.boot.FooProperties"
    }
  ],
  "properties": [
    {
      "name": "spring.foo.name",
      "type": "java.lang.String",
      "sourceType": "org.acme.Foo"
    },
    {
      "name": "spring.foo.description",
      "type": "java.lang.String",
      "sourceType": "org.acme.Foo",
      "description": "Foo description.",
      "defaultValue": "FooBar"
    },
    {
      "name": "spring.foo.name",
      "type": "java.lang.String",
      "sourceType": "org.springframework.boot.FooProperties"
    },
    {
      "name": "spring.foo.counter",
      "type": "java.lang.Integer",
      "sourceType": "org.springframework.boot.FooProperties",
      "defaultValue": 0
    }
  ],
  "hints": [
    {
      "name": "spring.foo.counter",
      "values": [
        {
          "value": 42,
          "description": "Because that's the answer to any question, choose it. \nReally."
        }
      ],
      "providers": [
        {
          "name": "handle-as",
          "parameters": {
            "target": "java.lang.Integer"
          }
        }
      ]
    }
  ]
}