public static ModelNode getDescription(final Locale locale) {

    final ResourceBundle bundle = getResourceBundle(locale);
    final ModelNode root = new ModelNode();
    root.get(DESCRIPTION).set(bundle.getString("host"));
    root.get(HEAD_COMMENT_ALLOWED).set(true);
    root.get(TAIL_COMMENT_ALLOWED).set(true);
    root.get(ATTRIBUTES, NAMESPACES).set(CommonDescriptions.getNamespacePrefixAttribute(locale));
    root.get(ATTRIBUTES, SCHEMA_LOCATIONS)
        .set(CommonDescriptions.getSchemaLocationAttribute(locale));

    root.get(ATTRIBUTES, NAME, DESCRIPTION).set(bundle.getString("host.name"));
    root.get(ATTRIBUTES, NAME, TYPE).set(ModelType.STRING);
    root.get(ATTRIBUTES, NAME, REQUIRED).set(false);
    root.get(ATTRIBUTES, NAME, NILLABLE).set(true);
    root.get(ATTRIBUTES, NAME, MIN_LENGTH).set(1);

    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, DESCRIPTION)
        .set(bundle.getString("host.domain-controller"));
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, TYPE).set(ModelType.OBJECT);
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, REQUIRED).set(true);
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, HEAD_COMMENT_ALLOWED).set(true);
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, TAIL_COMMENT_ALLOWED).set(true);
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, VALUE_TYPE, LOCAL, TYPE).set(ModelType.OBJECT);
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, VALUE_TYPE, LOCAL, DESCRIPTION)
        .set(bundle.getString("host.domain-controller.local"));
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, VALUE_TYPE, LOCAL, REQUIRED).set(false);
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, VALUE_TYPE, REMOTE, TYPE).set(ModelType.OBJECT);
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, VALUE_TYPE, REMOTE, DESCRIPTION)
        .set(bundle.getString("host.domain-controller.remote"));
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, VALUE_TYPE, REMOTE, VALUE_TYPE, HOST, TYPE)
        .set(ModelType.STRING);
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, VALUE_TYPE, REMOTE, VALUE_TYPE, HOST, DESCRIPTION)
        .set(bundle.getString("host.domain-controller.remote.host"));
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, VALUE_TYPE, REMOTE, VALUE_TYPE, HOST, REQUIRED)
        .set(true);
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, VALUE_TYPE, REMOTE, VALUE_TYPE, PORT, TYPE)
        .set(ModelType.STRING);
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, VALUE_TYPE, REMOTE, VALUE_TYPE, PORT, DESCRIPTION)
        .set(bundle.getString("host.domain-controller.remote.port"));
    root.get(ATTRIBUTES, DOMAIN_CONTROLLER, VALUE_TYPE, REMOTE, VALUE_TYPE, PORT, REQUIRED)
        .set(true);

    root.get(ATTRIBUTES, MASTER, DESCRIPTION).set(bundle.getString("host.master"));
    root.get(ATTRIBUTES, MASTER, TYPE).set(ModelType.BOOLEAN);

    root.get(OPERATIONS).setEmptyObject();

    root.get(CHILDREN, EXTENSION, DESCRIPTION).set(bundle.getString("host.extension"));
    root.get(CHILDREN, EXTENSION, MIN_OCCURS).set(0);
    root.get(CHILDREN, EXTENSION, MAX_OCCURS).set(Integer.MAX_VALUE);
    root.get(CHILDREN, EXTENSION, MODEL_DESCRIPTION).setEmptyObject();

    root.get(CHILDREN, PATH, DESCRIPTION).set(bundle.getString("host.path"));
    root.get(CHILDREN, PATH, MIN_OCCURS).set(0);
    root.get(CHILDREN, PATH, MAX_OCCURS).set(Integer.MAX_VALUE);
    root.get(CHILDREN, PATH, MODEL_DESCRIPTION).setEmptyObject();

    root.get(CHILDREN, SYSTEM_PROPERTY, DESCRIPTION)
        .set(bundle.getString("host.system-properties"));
    root.get(CHILDREN, SYSTEM_PROPERTY, MIN_OCCURS).set(0);
    root.get(CHILDREN, SYSTEM_PROPERTY, MAX_OCCURS).set(Integer.MAX_VALUE);
    root.get(CHILDREN, SYSTEM_PROPERTY, MODEL_DESCRIPTION).setEmptyObject();

    root.get(CHILDREN, CORE_SERVICE, DESCRIPTION).set(bundle.getString("host.core-services"));
    root.get(CHILDREN, CORE_SERVICE, MIN_OCCURS).set(0);
    root.get(CHILDREN, CORE_SERVICE, MODEL_DESCRIPTION);

    root.get(CHILDREN, INTERFACE, DESCRIPTION).set(bundle.getString("host.interface"));
    root.get(CHILDREN, INTERFACE, MIN_OCCURS).set(0);
    root.get(CHILDREN, INTERFACE, MAX_OCCURS).set(Integer.MAX_VALUE);
    root.get(CHILDREN, INTERFACE, MODEL_DESCRIPTION).setEmptyObject();

    root.get(CHILDREN, JVM, DESCRIPTION).set(bundle.getString("host.jvm"));
    root.get(CHILDREN, JVM, MIN_OCCURS).set(0);
    root.get(CHILDREN, JVM, MAX_OCCURS).set(Integer.MAX_VALUE);
    root.get(CHILDREN, JVM, MODEL_DESCRIPTION).setEmptyObject();

    root.get(CHILDREN, SERVER_CONFIG, DESCRIPTION).set(bundle.getString("host.server-config"));
    root.get(CHILDREN, SERVER_CONFIG, MIN_OCCURS).set(0);
    root.get(CHILDREN, SERVER_CONFIG, MAX_OCCURS).set(Integer.MAX_VALUE);
    root.get(CHILDREN, SERVER_CONFIG, MODEL_DESCRIPTION).setEmptyObject();

    root.get(CHILDREN, RUNNING_SERVER, DESCRIPTION).set(bundle.getString("host.server"));
    root.get(CHILDREN, RUNNING_SERVER, MIN_OCCURS).set(0);
    root.get(CHILDREN, RUNNING_SERVER, MAX_OCCURS).set(Integer.MAX_VALUE);
    root.get(CHILDREN, RUNNING_SERVER, MODEL_DESCRIPTION).setEmptyObject();
    return root;
  }