throws UnsupportedOperationException, NoSuchFileException, IllegalArgumentException,
IOException, SecurityException {
checkNotNull( "path", path );
checkNotEmpty( "attributes", attributes );
final Properties original = new Properties( Files.readAttributes( path, attributes ) );
if ( attributes.equals( "*" ) && exists( dot( path ) ) ) {
boolean isAttrHolder = path instanceof AttrHolder;
if ( isAttrHolder && ( (AttrHolder) path ).getAttrStorage().getContent().size() > 0 ) {
return ( (AttrHolder) path ).getAttrStorage().getAllContent();
}
final Properties content = new Properties();
content.load( newInputStream( dot( path ) ) );
content.putAll( original );
if ( isAttrHolder ) {
( (AttrHolder) path ).getAttrStorage().loadContent( content );
}
return content;