@Override public void setAttribute( final Path path, final String attribute, final Object value, final LinkOption... options ) throws UnsupportedOperationException, IllegalArgumentException, ClassCastException, IOException, SecurityException { checkNotNull( "path", path ); checkNotEmpty( "attributes", attribute ); if ( attribute.equals( FileSystemState.FILE_SYSTEM_STATE_ATTR ) ) { try { state = FileSystemState.valueOf( value.toString() ); FileSystemState.valueOf( value.toString() ); } catch ( final Exception ex ) { state = FileSystemState.NORMAL; } hadCommitOnBatchState = false; return; } final String[] s = split( attribute ); if ( s[ 0 ].length() == 0 ) { throw new IllegalArgumentException( attribute ); } final ExtendedAttributeView view = getFileAttributeView( toPathImpl( path ), s[ 0 ], options ); if ( view == null ) { throw new UnsupportedOperationException( "View '" + s[ 0 ] + "' not available" ); } view.setAttribute( s[ 1 ], value ); }