code: public static Address fromModelNodeWrapper(ModelNode haystack, String needle) {
          if (haystack.hasDefined(needle)) {
              return fromModelNode(haystack.get(needle));
          }
  
          throw new IllegalArgumentException("There is no address under the key [" + needle + "] in the node: "
                  + haystack.toJSONString(true));
      }
docs: Obtains an address property list from the given ModelNode wrapper. The given haystack must have a
  key whose value is the same as needle. The value of that named property must itself be a property list
  containing all address parts (and only address parts).
  
  @param haystack the wrapper ModelNode that contains a property whose value is an address property list.
  @param needle the name of the property in the given wrapper ModelNode whose value is the address property list.
  @return the found address
  
  @throws IllegalArgumentException there is no address property list in the wrapper node with the given name.
  
  @see #fromModelNode(ModelNode)