class Builder {

	/**
	 * An option name for these extensions.
	 *
	 */
	private String name = "";

	/**
	 * The extension properties.
	 *
	 */
	private ExtensionProperty[] properties;

	/**
	 * Instantiates a new Extension builder.
	 */
	private Builder() {
	}

	/**
	 * Builder extension builder.
	 *
	 * @return the extension builder
	 */
	public static Builder extensionBuilder() {
		return new Builder();
	}

	/**
	 * Name extension builder.
	 *
	 * @param name the name
	 * @return the extension builder
	 */
	public Builder name(String name) {
		this.name = name;
		return this;
	}

	/**
	 * Properties extension builder.
	 *
	 * @param extensionPropertyBuilder the properties
	 * @return the extension builder
	 */
	public Builder propertie(org.springdoc.core.fn.builders.extensionproperty.Builder extensionPropertyBuilder) {
		this.properties = ArrayUtils.add(this.properties, extensionPropertyBuilder.build());
		return this;
	}

	/**
	 * Build extension.
	 *
	 * @return the extension
	 */
	public Extension build() {<FILL_FUNCTION_BODY>}
}

		return new Extension() {
			@Override
			public Class<? extends Annotation> annotationType() {
				return null;
			}

			@Override
			public String name() {
				return name;
			}

			@Override
			public ExtensionProperty[] properties() {
				return properties;
			}
		};
	
<no_super_class>