docs: private String[] propertyDefs( Node node ) throws RepositoryException {
          ArrayList<String> list = new ArrayList<>();
  
          NodeType primaryType = node.getPrimaryNodeType();
          PropertyDefinition[] defs = primaryType.getPropertyDefinitions();
  
          for (PropertyDefinition def : defs) {
              if (!def.isProtected()) {
                  list.add(def.getName());
              }
          }
  
          NodeType[] mixinType = node.getMixinNodeTypes();
          for (NodeType type : mixinType) {
              defs = type.getPropertyDefinitions();
              for (PropertyDefinition def : defs) {
                  if (!def.isProtected()) {
                      list.add(def.getName());
                  }
              }
          }
  
          String[] res = new String[list.size()];
          list.toArray(res);
  
          return res;
      }