class AbstractJarVersionVerifier extends AbstractSwitchableCompatibilityVerifier {

    public AbstractJarVersionVerifier(Environment environment) {
        super(environment);
    }

    @Override
    public CompatibilityPredicate compatibilityPredicate() {<FILL_FUNCTION_BODY>}

    @Override
    public String errorDescription() {
        return String.format("SOFABoot is not compatible with jar [%s] for current version.",
            name());
    }

    @Override
    public String action() {
        return String.format(
            "Change [%s] to appropriate version,"
                    + "you can visit this doc [%s] and find an appropriate version,"
                    + "If you want to disable this check, just set the property [%s=false].",
            name(), doc(), this.enableKey);
    }

    public abstract Collection<CompatibilityPredicate> getJarCompatibilityPredicates();

    public abstract String name();

    public abstract String doc();
}

        return () -> {
            Collection<CompatibilityPredicate> compatibilityPredicates = getJarCompatibilityPredicates();
            if (compatibilityPredicates == null) {
                return true;
            }
            return compatibilityPredicates.stream().allMatch(CompatibilityPredicate::isCompatible);
        };
    
<methods>public void <init>(org.springframework.core.env.Environment) ,public abstract java.lang.String action() ,public abstract com.alipay.sofa.boot.compatibility.CompatibilityPredicate compatibilityPredicate() ,public abstract java.lang.String enableKey() ,public abstract java.lang.String errorDescription() ,public com.alipay.sofa.boot.compatibility.VerificationResult verify() <variables>private static final java.lang.String ENABLE_KEY_FORMAT,protected java.lang.String enableKey,protected final non-sealed org.springframework.core.env.Environment environment