Hi all.

I'm implementing the new support for automatic simple and collection properties 
change events (@PostsPropertyChangedEvent, @ PostsCollectionAddedToEvent, 
@PostsCollectionRemovedFromEvent) and the new mechanism works really nice :-))

I've just initially forgot to register the service as an event subscriber, 
thinking that it was unnecessary. So perhaps auto-registering the service when 
"detecting" the guava's @Subscribe annotation would be a good enhancement.

I've found that an exception thrown by DN has been hidden by Isis.

The root-cause is because I have not properly defined the @Inheritance mappings 
correctly, but the relevant thing from Isis perspective is that DN does not 
throw any exception if, on a collection annotated with @Join, the "add" is not 
properly executed.

For example, given:


   // {{ AggregatedServices (Collection)
    @Persistent(table = "Product_Aggregates_Service")
    @Join(column = "Product")
    @Element(column = "Service", types = Service.class)
    private SortedSet<Service> aggregatedServices = new TreeSet<Service>();

    
@PostsCollectionRemovedFromEvent(AssetCollectionWithRelationshipRemovedFromEvent.class)
    @XMSField(locales = { @XMSLocale(locale = "es", caption = "Servicios de 
Negocio Agregados") })
    @XMSRel(role = RelationshipRole.SOURCE, type = RelationshipType.AGGREGATION)
    @MemberOrder(sequence = "550")
    public SortedSet<Service> getAggregatedServices() {
        return this.aggregatedServices;
    }

    public void setAggregatedServices(final SortedSet<Service> 
aggregatedServices) {
        this.aggregatedServices = aggregatedServices;
    }

    public void addToAggregatedServices(final Service service) {
        this.getAggregatedServices().add(service);
        this.getContainer().flush();

    }

    public void removeFromAggregatedServices(final Service service) {
        this.getAggregatedServices().remove(service);
        this.getContainer().flush();

    }

    // }}


When the 

this.getAggregatedServices().add(service);


Is called, the following exception occurs:


10:12:14,537  [Persistence          main       WARN ]  Execuci�n del metodo 
"add" en el campo "aggregatedServices" ha causado un error : Solicitud de 
a�adir ha fallado : INSERT INTO PRODUCT_AGGREGATES_SERVICE (PRODUCT,SERVICE) 
VALUES (?,?) 
Solicitud de a�adir ha fallado : INSERT INTO PRODUCT_AGGREGATES_SERVICE 
(PRODUCT,SERVICE) VALUES (?,?) 
org.datanucleus.exceptions.NucleusDataStoreException: Solicitud de a�adir ha 
fallado : INSERT INTO PRODUCT_AGGREGATES_SERVICE (PRODUCT,SERVICE) VALUES (?,?) 
        at 
org.datanucleus.store.rdbms.scostore.JoinSetStore.add(JoinSetStore.java:349)
        at org.datanucleus.store.types.backed.TreeSet.add(TreeSet.java:716)
        at 
com.xms.framework.architecture.domain.model.business.extensions.product.Product.addToAggregatedServices(Product.java:62)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at 
org.apache.isis.core.commons.lang.MethodExtensions.invoke(MethodExtensions.java:53)
        at 
org.apache.isis.core.metamodel.adapter.util.AdapterInvokeUtils.invoke(AdapterInvokeUtils.java:49)
        at 
org.apache.isis.core.metamodel.adapter.util.AdapterInvokeUtils.invoke(AdapterInvokeUtils.java:53)
        at 
org.apache.isis.core.progmodel.facets.collections.modify.CollectionAddToFacetViaMethod.add(CollectionAddToFacetViaMethod.java:67)
        at 
org.apache.isis.core.runtime.transaction.facets.CollectionAddToFacetWrapTransaction$1.execute(CollectionAddToFacetWrapTransaction.java:55)
        at 
org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:176)
        at 
org.apache.isis.core.runtime.transaction.facets.CollectionAddToFacetWrapTransaction.add(CollectionAddToFacetWrapTransaction.java:52)
        at 
org.apache.isis.core.metamodel.specloader.specimpl.OneToManyAssociationImpl.addElement(OneToManyAssociationImpl.java:179)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.handleCollectionAddToMethod(DomainObjectInvocationHandler.java:479)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(DomainObjectInvocationHandler.java:207)
        at 
org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist$1.invoke(ProxyInstantiatorForJavassist.java:52)
        at 
com.xms.framework.architecture.domain.model.business.extensions.product.Product_$$_jvst4fc_11.addToAggregatedServices(Product_$$_jvst4fc_11.java)
        at 
com.xms.framework.architecture.domain.model.business.extensions.product.Product.addBusinessService(Product.java:80)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at 
org.apache.isis.core.progmodel.facets.actions.invoke.ActionInvocationFacetViaMethod.internalInvoke(ActionInvocationFacetViaMethod.java:268)
        at 
org.apache.isis.core.progmodel.facets.actions.invoke.ActionInvocationFacetViaMethod.invoke(ActionInvocationFacetViaMethod.java:131)
        at 
org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:57)
        at 
org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:54)
        at 
org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:218)
        at 
org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction.invoke(ActionInvocationFacetWrapTransaction.java:54)
        at 
org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.execute(ObjectActionImpl.java:342)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.handleActionMethod(DomainObjectInvocationHandler.java:547)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(DomainObjectInvocationHandler.java:226)
        at 
org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist$1.invoke(ProxyInstantiatorForJavassist.java:52)
        at 
com.xms.framework.architecture.domain.model.business.extensions.product.Product_$$_jvst4fc_11.addBusinessService(Product_$$_jvst4fc_11.java)
        at 
com.xms.framework.architecture.integration.tests.relationships.RelationshipsUpsertedFromAssetsPropertiesTest.testDirectAndDerivedRelationships(RelationshipsUpsertedFromAssetsPropertiesTest.java:184)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at 
org.apache.isis.core.integtestsupport.IntegrationTestAbstract$IsisTransactionRule$1.evaluate(IntegrationTestAbstract.java:163)
        at 
org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2$1.evaluate(JUnitRuleMockery2.java:146)
        at 
org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:168)
        at org.junit.rules.RunRules.evaluate(RunRules.java:20)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.datanucleus.store.rdbms.exceptions.MappedDatastoreException: 
INSERT INTO PRODUCT_AGGREGATES_SERVICE (PRODUCT,SERVICE) VALUES (?,?) 
        at 
org.datanucleus.store.rdbms.scostore.JoinSetStore.doInternalAdd(JoinSetStore.java:754)
        at 
org.datanucleus.store.rdbms.scostore.JoinSetStore.internalAdd(JoinSetStore.java:502)
        at 
org.datanucleus.store.rdbms.scostore.JoinSetStore.add(JoinSetStore.java:333)
        ... 64 more
Caused by: java.sql.SQLIntegrityConstraintViolationException: violación del 
restricción de integridad: no ha registro padre en clave foránea; 
PRODUCT_AGGREGATES_SERVICE_FK1 table: PRODUCT_AGGREGATES_SERVICE
        at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
        at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
        at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
        at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
        at 
org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        at 
org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        at 
org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:399)
        at 
org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:439)
        at 
org.datanucleus.store.rdbms.scostore.JoinSetStore.doInternalAdd(JoinSetStore.java:733)
        ... 66 more
Caused by: org.hsqldb.HsqlException: violación del restricción de integridad: 
no ha registro padre en clave foránea; PRODUCT_AGGREGATES_SERVICE_FK1 table: 
PRODUCT_AGGREGATES_SERVICE
        at org.hsqldb.error.Error.error(Unknown Source)
        at org.hsqldb.Constraint.getException(Unknown Source)
        at org.hsqldb.Constraint.checkInsert(Unknown Source)
        at org.hsqldb.StatementDML.performIntegrityChecks(Unknown Source)
        at org.hsqldb.StatementDML.insertSingleRow(Unknown Source)
        at org.hsqldb.StatementInsert.getResult(Unknown Source)
        at org.hsqldb.StatementDMQL.execute(Unknown Source)
        at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
        at org.hsqldb.Session.execute(Unknown Source)
        ... 73 more
Nested Throwables StackTrace:
org.datanucleus.store.rdbms.exceptions.MappedDatastoreException: INSERT INTO 
PRODUCT_AGGREGATES_SERVICE (PRODUCT,SERVICE) VALUES (?,?) 
        at 
org.datanucleus.store.rdbms.scostore.JoinSetStore.doInternalAdd(JoinSetStore.java:754)
        at 
org.datanucleus.store.rdbms.scostore.JoinSetStore.internalAdd(JoinSetStore.java:502)
        at 
org.datanucleus.store.rdbms.scostore.JoinSetStore.add(JoinSetStore.java:333)
        at org.datanucleus.store.types.backed.TreeSet.add(TreeSet.java:716)
        at 
com.xms.framework.architecture.domain.model.business.extensions.product.Product.addToAggregatedServices(Product.java:62)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at 
org.apache.isis.core.commons.lang.MethodExtensions.invoke(MethodExtensions.java:53)
        at 
org.apache.isis.core.metamodel.adapter.util.AdapterInvokeUtils.invoke(AdapterInvokeUtils.java:49)
        at 
org.apache.isis.core.metamodel.adapter.util.AdapterInvokeUtils.invoke(AdapterInvokeUtils.java:53)
        at 
org.apache.isis.core.progmodel.facets.collections.modify.CollectionAddToFacetViaMethod.add(CollectionAddToFacetViaMethod.java:67)
        at 
org.apache.isis.core.runtime.transaction.facets.CollectionAddToFacetWrapTransaction$1.execute(CollectionAddToFacetWrapTransaction.java:55)
        at 
org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:176)
        at 
org.apache.isis.core.runtime.transaction.facets.CollectionAddToFacetWrapTransaction.add(CollectionAddToFacetWrapTransaction.java:52)
        at 
org.apache.isis.core.metamodel.specloader.specimpl.OneToManyAssociationImpl.addElement(OneToManyAssociationImpl.java:179)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.handleCollectionAddToMethod(DomainObjectInvocationHandler.java:479)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(DomainObjectInvocationHandler.java:207)
        at 
org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist$1.invoke(ProxyInstantiatorForJavassist.java:52)
        at 
com.xms.framework.architecture.domain.model.business.extensions.product.Product_$$_jvst4fc_11.addToAggregatedServices(Product_$$_jvst4fc_11.java)
        at 
com.xms.framework.architecture.domain.model.business.extensions.product.Product.addBusinessService(Product.java:80)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at 
org.apache.isis.core.progmodel.facets.actions.invoke.ActionInvocationFacetViaMethod.internalInvoke(ActionInvocationFacetViaMethod.java:268)
        at 
org.apache.isis.core.progmodel.facets.actions.invoke.ActionInvocationFacetViaMethod.invoke(ActionInvocationFacetViaMethod.java:131)
        at 
org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:57)
        at 
org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:54)
        at 
org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:218)
        at 
org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction.invoke(ActionInvocationFacetWrapTransaction.java:54)
        at 
org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.execute(ObjectActionImpl.java:342)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.handleActionMethod(DomainObjectInvocationHandler.java:547)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(DomainObjectInvocationHandler.java:226)
        at 
org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist$1.invoke(ProxyInstantiatorForJavassist.java:52)
        at 
com.xms.framework.architecture.domain.model.business.extensions.product.Product_$$_jvst4fc_11.addBusinessService(Product_$$_jvst4fc_11.java)
        at 
com.xms.framework.architecture.integration.tests.relationships.RelationshipsUpsertedFromAssetsPropertiesTest.testDirectAndDerivedRelationships(RelationshipsUpsertedFromAssetsPropertiesTest.java:184)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at 
org.apache.isis.core.integtestsupport.IntegrationTestAbstract$IsisTransactionRule$1.evaluate(IntegrationTestAbstract.java:163)
        at 
org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2$1.evaluate(JUnitRuleMockery2.java:146)
        at 
org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:168)
        at org.junit.rules.RunRules.evaluate(RunRules.java:20)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.sql.SQLIntegrityConstraintViolationException: violación del 
restricción de integridad: no ha registro padre en clave foránea; 
PRODUCT_AGGREGATES_SERVICE_FK1 table: PRODUCT_AGGREGATES_SERVICE
        at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
        at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
        at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
        at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
        at 
org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        at 
org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        at 
org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:399)
        at 
org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:439)
        at 
org.datanucleus.store.rdbms.scostore.JoinSetStore.doInternalAdd(JoinSetStore.java:733)
        ... 66 more
Caused by: org.hsqldb.HsqlException: violación del restricción de integridad: 
no ha registro padre en clave foránea; PRODUCT_AGGREGATES_SERVICE_FK1 table: 
PRODUCT_AGGREGATES_SERVICE
        at org.hsqldb.error.Error.error(Unknown Source)
        at org.hsqldb.Constraint.getException(Unknown Source)
        at org.hsqldb.Constraint.checkInsert(Unknown Source)
        at org.hsqldb.StatementDML.performIntegrityChecks(Unknown Source)
        at org.hsqldb.StatementDML.insertSingleRow(Unknown Source)
        at org.hsqldb.StatementInsert.getResult(Unknown Source)
        at org.hsqldb.StatementDMQL.execute(Unknown Source)
        at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
        at org.hsqldb.Session.execute(Unknown Source)
        ... 73 more 



But DN does not throw any exception. It simply returns false when exiting the 

this.getAggregatedServices().add(service);

method ...

The DN implementation is on [1].

So seems that it's mandatory to evaluate the result of "add" !!!!


I understand that an ApplicationException should be raised in all cases. What 
would be a convenient "idiom" we can all use?


Thanks,

Oscar






[1] 
https://github.com/datanucleus/datanucleus-core/blob/master/src/main/java/org/datanucleus/store/types/wrappers/backed/TreeSet.java#L719










Reply via email to