protected NotifyFuture<WriteAttributeResults> processWriteAttributes ( final SessionCommon session, final String itemId, final Map<String, Variant> attributes, final org.eclipse.scada.core.server.OperationParameters operationParameters ) { logger.debug ( "Process write attributes - itemId: {}, attributes: {}", itemId, attributes ); final DataItem item = retrieveItem ( itemId ); if ( item == null ) { return new InstantErrorFuture<WriteAttributeResults> ( new InvalidItemException ( itemId ).fillInStackTrace () ); } // stats if ( this.statisticsGenerator != null ) { this.statisticsGenerator.startWriteAttributes ( session, itemId, attributes.size () ); } // go final NotifyFuture<WriteAttributeResults> future = item.startSetAttributes ( attributes, operationParameters ); try { session.addFuture ( future ); return future; } catch ( final InvalidSessionException e ) { return new InstantErrorFuture<WriteAttributeResults> ( e ); } }