protected void lazyClose() {
		//System.out.println("emLazyClose "+this.ownerId);
		try {
			// auto-rollback if TX was started and is still open
			if (getTransaction().isActive())
				getTransaction().rollback();
		} catch (Exception ex) { } // nothing we can do, silent fail
		if (listener != null) {
			try { listener.lazilyClosed(this); } catch(Exception ex) { }
		}
		attributes=null;
		delegate.close();
	}