Details trustedDetails = (Details) previousState[idx]; markLockedIfNecessary( iobj, trustedDetails);
secSys.markLockedIfNecessary( iobj );
    public boolean onFlushDirty(Object entity, Serializable id,     		Object[] currentState, Object[] previousState,     		String[] propertyNames, Type[] types)    {    	debug("Intercepted update.");    	    	boolean altered = false;    	if ( entity instanceof IObject)    	{    		IObject iobj = (IObject) entity;		    		int idx = detailsIndex( propertyNames );    		    		// If this instance was formerly locked, relock it regardless.    		Details trustedDetails = (Details) previousState[idx];    		markLockedIfNecessary( iobj, trustedDetails);    		    		altered |= resetDetails( iobj, currentState, previousState, idx );    	}        return altered;    }