class DefaultVersionConstraint implements VersionConstraint {
        private final VersionScheme versionScheme;
        private final org.eclipse.aether.version.VersionConstraint delegate;

        DefaultVersionConstraint(VersionScheme versionScheme, String delegateValue) {
            this.versionScheme = versionScheme;
            try {
                this.delegate = versionScheme.parseVersionConstraint(delegateValue);
            } catch (InvalidVersionSpecificationException e) {
                throw new VersionParserException("Unable to parse version constraint: " + delegateValue, e);
            }
        }

        @Override
        public boolean contains(Version version) {<FILL_FUNCTION_BODY>}

        @Override
        public String asString() {
            return delegate.toString();
        }

        @Override
        public VersionRange getVersionRange() {
            if (delegate.getRange() == null) {
                return null;
            }
            return new DefaultVersionRange(versionScheme, delegate.getRange());
        }

        @Override
        public Version getRecommendedVersion() {
            if (delegate.getVersion() == null) {
                return null;
            }
            return new DefaultVersion(versionScheme, delegate.getVersion());
        }

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

        @Override
        public boolean equals(Object o) {
            if (this == o) {
                return true;
            }
            if (o == null || getClass() != o.getClass()) {
                return false;
            }
            DefaultVersionConstraint that = (DefaultVersionConstraint) o;
            return delegate.equals(that.delegate);
        }

        @Override
        public int hashCode() {
            return delegate.hashCode();
        }
    }

            if (version instanceof DefaultVersion) {
                return delegate.containsVersion(((DefaultVersion) version).delegate);
            } else {
                return contains(new DefaultVersion(versionScheme, version.asString()));
            }
        
<no_super_class>