Clazz.load (["java.util.AbstractSet", "$.Set"], "java.util.HashSet", ["java.util.HashMap"], function () {
var c$ = Clazz.decorateAsClass (function () {
this.backingMap = null;
Clazz.instantialize (this, arguments);
}, java.util, "HashSet", java.util.AbstractSet, [java.util.Set, Cloneable, java.io.Serializable]);
Clazz.makeConstructor (c$, 
function () {
this.construct ( new java.util.HashMap ());
});
Clazz.makeConstructor (c$, 
function (capacity) {
this.construct ( new java.util.HashMap (capacity));
}, "~N");
Clazz.makeConstructor (c$, 
function (capacity, loadFactor) {
this.construct ( new java.util.HashMap (capacity, loadFactor));
}, "~N,~N");
Clazz.makeConstructor (c$, 
function (collection) {
this.construct ( new java.util.HashMap (collection.size () < 6 ? 11 : collection.size () * 2));
for (var e, $e = collection.iterator (); $e.hasNext () && ((e = $e.next ()) || true);) {
this.add (e);
}
}, "java.util.Collection");
Clazz.makeConstructor (c$, 
function (backingMap) {
Clazz.superConstructor (this, java.util.HashSet, []);
this.backingMap = backingMap;
}, "java.util.HashMap");
Clazz.overrideMethod (c$, "add", 
function (object) {
return this.backingMap.put (object, this) == null;
}, "~O");
Clazz.overrideMethod (c$, "clear", 
function () {
this.backingMap.clear ();
});
Clazz.defineMethod (c$, "clone", 
function () {
try {
var clone = Clazz.superCall (this, java.util.HashSet, "clone", []);
clone.backingMap = this.backingMap.clone ();
return clone;
} catch (e) {
if (Clazz.exceptionOf(e,"CloneNotSupportedException")){
return null;
} else {
throw e;
}
}
});
Clazz.overrideMethod (c$, "contains", 
function (object) {
return this.backingMap.containsKey (object);
}, "~O");
Clazz.overrideMethod (c$, "isEmpty", 
function () {
return this.backingMap.isEmpty ();
});
Clazz.defineMethod (c$, "iterator", 
function () {
return this.backingMap.keySet ().iterator ();
});
Clazz.overrideMethod (c$, "remove", 
function (object) {
return this.backingMap.remove (object) != null;
}, "~O");
Clazz.overrideMethod (c$, "size", 
function () {
return this.backingMap.size ();
});
Clazz.defineMethod (c$, "createBackingMap", 
function (capacity, loadFactor) {
return  new java.util.HashMap (capacity, loadFactor);
}, "~N,~N");
});
;//5.0.1-v2 Sat Nov 25 17:52:34 CST 2023
