If multiple children have the same key, for example ([jsfiddle](https://jsfiddle.net/olegs/p09cweky/1/)):

``` javascript
var Hello = React.createClass({
    render: function() {
        return (<ul>
        <li key={"1"}>what</li>
        <li key={"1"}>what</li>
        </ul>
        )
    }
});
```

React prints the following warning to the console:

```
Warning: flattenChildren(...): Encountered two children with the same key, `.$1`. Child keys must be unique; when two children share a key, only the first child will be used.
```

The key referenced in the warning prepends an internal-looking '.$' to the key specified by the user. This is a bit misleading - ideally, it would mention the exact key value set by the user.

if (children == null) {
    return children;
  }
  var result = {};
  traverseAllChildren(children, flattenSingleChildIntoContext, result);
  return result;
}
module.exports = flattenChildren;