reimplemented factory methods as per reto in previous commit in order to guarantee Java 1.6 compability, commented out test because of missing equality test implementation in sets