/*
 * Copyright 2020 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.gradle.jvm.toolchain;

public enum JvmImplementation {

    VENDOR_SPECIFIC("vendor-specific"),
    J9("J9");

    private final String displayName;

    JvmImplementation(String displayName) {
        this.displayName = displayName;
    }

    @Override
    public String toString() {
        return displayName;
    }
}

@@ -649,60 +649,273 @@
 n;%0A%0A
-public enum JvmImplementation %7B%0A%0A    VENDOR_SPECIFIC
+%0Aimport org.gradle.api.Incubating;%0A%0A/**%0A * Represents a filter for a implementation of a Java Virtual Machine.%0A *%0A * @since 6.8%0A */%0A@Incubating%0Apublic final class JvmImplementation %7B%0A%0A    public static final JvmImplementation VENDOR_SPECIFIC = new JvmImplementation
 (%22ve
@@ -933,16 +933,78 @@
 ic%22)
-,
+;
 %0A    
-J9
+public static final JvmImplementation J9 = new JvmImplementation
 (%22J9
@@ -1051,16 +1051,24 @@
 e;%0A%0A    
+private 
 JvmImple

Document JvmImplementation