public static Set<PosixFilePermission> toPermissionsSet(int mode) {
Set<PosixFilePermission> result = EnumSet.noneOf(PosixFilePermission.class);
if (isSet(mode, 0400)) {
result.add(OWNER_READ);
if (isSet(mode, 0200)) {
result.add(OWNER_WRITE);
if (isSet(mode, 0100)) {
result.add(OWNER_EXECUTE);
if (isSet(mode, 040)) {
result.add(GROUP_READ);
if (isSet(mode, 020)) {
result.add(GROUP_WRITE);
if (isSet(mode, 010)) {
result.add(GROUP_EXECUTE);
if (isSet(mode, 04)) {
result.add(OTHERS_READ);
if (isSet(mode, 02)) {
result.add(OTHERS_WRITE);
if (isSet(mode, 01)) {
result.add(OTHERS_EXECUTE);