docs: @Nonnull
    @ReturnsMutableCopy
    public static ICommonsList <IHCNode> getAsFlattenedList (@Nullable final Iterable <? extends IHCNode> aNodes)
    {
      final ICommonsList <IHCNode> ret = new CommonsArrayList <> ();
      if (aNodes != null)
        for (final IHCNode aNode : aNodes)
          _recursiveAddFlattened (aNode, ret);
      return ret;
    }
  
    /**
     * Resolve all wrappings via {@link IHCWrappingNode} of the passed node. This is
     * usually either an HCOutOfBandNode or a HCConditionalCommentNode.
     *
     * @param aHCNode
     *        The node to be unwrapped. May be <code>null</code>.
     * @return The unwrapped node. May be the same as the parameter, if the node is
     *         not wrapped. May be <code>null</code> if the parameter node is
     *         <code>null</code>.
     */
    @Nullable
    public static IHCNode getUnwrappedNode (@Nullable final IHCNode aHCNode)
    {
      if (isWrappedNode (aHCNode))
        return getUnwrappedNode (((IHCWrappingNode) aHCNode).getWrappedNode ());
  
      return aHCNode;
    }