code: private static void appendJSONProperty(JsonGenerator jsonGen,
  	                                       Configuration config, String name, ConfigRedactor redactor)
  			throws IOException {
  		// skip writing if given property name is empty or null
  		if(!Strings.isNullOrEmpty(name) && jsonGen != null) {
  			jsonGen.writeStartObject();
  			jsonGen.writeStringField("key", name);
  			jsonGen.writeStringField("value",
  					redactor.redact(name, config.get(name)));
  			jsonGen.writeBooleanField("isFinal",
  					config.finalParameters.contains(name));
  			String[] resources = config.updatingResource != null ?
  					config.updatingResource.get(name) : null;
  			String resource = UNKNOWN_RESOURCE;
  			if (resources != null && resources.length > 0) {
  				resource = resources[0];
  			}
  			jsonGen.writeStringField("resource", resource);
  			jsonGen.writeEndObject();
  		}
  	}
docs: Write property and its attributes as json format to given
  {@link JsonGenerator}.
  
  @param jsonGen json writer
  @param config configuration
  @param name property name
  @throws IOException