code: @Override
      public void setPermissionsFromString(final String value) {
          final char[] chars = value.toCharArray();
          final EnumSet<SharedAccessQueuePermissions> retSet = EnumSet.noneOf(SharedAccessQueuePermissions.class);
  
          for (final char c : chars) {
              switch (c) {
                  case 'r':
                      retSet.add(SharedAccessQueuePermissions.READ);
                      break;
                  case 'a':
                      retSet.add(SharedAccessQueuePermissions.ADD);
                      break;
                  case 'u':
                      retSet.add(SharedAccessQueuePermissions.UPDATE);
                      break;
                  case 'p':
                      retSet.add(SharedAccessQueuePermissions.PROCESSMESSAGES);
                      break;
                  default:
                      throw new IllegalArgumentException("value");
              }
          }
  
          this.permissions = retSet;
      }
docs: Sets shared access permissions using the specified permissions string.
  
  @param value
  A <code>String</code> that represents the shared access permissions. The string must contain one or
  more of the following values. Note that they must be lower case, and the order that they are specified
  must be in the order of "raup".
  <ul>
  <li><code>d</code>: Read access.</li>
  <li><code>l</code>: Add access.</li>
  <li><code>r</code>: Update access.</li>
  <li><code>w</code>: ProcessMessages access.</li>
  </ul>