code: public byte[] toByteArray() {
          // variable content size depending on sub authorities number
          final ByteBuffer buff = ByteBuffer.allocate(getSize());
          buff.put(revision);
          buff.put(NumberFacility.getBytes(subAuthorities.size())[3]);
          buff.put(identifierAuthority);
          for (byte[] sub : subAuthorities) {
              buff.put(Hex.reverse(sub));
          }
          return buff.array();
      }
docs: Serializes to byte array.
  
  @return serialized SID.