docs: protected Object createNode(Object name, Map attributes, Object value) {
          Object node;
  
          Factory factory = getProxyBuilder().resolveFactory(name, attributes, value);
          if (factory == null) {
              LOG.log(Level.WARNING, "Could not find match for name '" + name + "'");
              throw new MissingMethodExceptionNoStack((String) name, Object.class, new Object[]{attributes, value});
              //return null;
          }
          getProxyBuilder().getContext().put(CURRENT_FACTORY, factory);
          getProxyBuilder().getContext().put(CURRENT_NAME, String.valueOf(name));
          getProxyBuilder().preInstantiate(name, attributes, value);
          try {
              node = factory.newInstance(getProxyBuilder().getChildBuilder(), name, value, attributes);
              if (node == null) {
                  LOG.log(Level.WARNING, "Factory for name '" + name + "' returned null");
                  return null;
              }
  
              if (LOG.isLoggable(Level.FINE)) {
                  LOG.fine("For name: " + name + " created node: " + node);
              }
          } catch (Exception e) {
              throw new RuntimeException("Failed to create component for '" + name + "' reason: "
                      + e, e);
          }
          getProxyBuilder().postInstantiate(name, attributes, node);
          getProxyBuilder().handleNodeAttributes(node, attributes);
          return node;
      }