@Override public <T> T merge(final T entity) { return applyCascadingOperation(entity, CascadeType.MERGE); }
@Override public void persist(final Object entity) { applyCascadingOperation(entity, CascadeType.PERSIST); }
@Override public void remove(final Object entity) { applyCascadingOperation(entity, CascadeType.REMOVE); }
@Override public void detach(final Object entity) { applyCascadingOperation(entity, CascadeType.DETACH); }
final R collectionOfMergeTargets = ((ErraiPluralAttribute<X, R, ?>) cascadeAcross).createEmptyCollection(); for (final Object element : (Iterable<?>) sourceRelatedEntity) { ((Collection) collectionOfMergeTargets).add(applyCascadingOperation(element, cascadeType)); final R resolvedTarget = applyCascadingOperation(sourceRelatedEntity, cascadeType);