def merge_in_geojson_collection(geojsons):
    """Return a new ``FeatureCollection`` GeoJSON object after merging all the objects in the given
    iterable.

    Return an empty object if both objects are empty too.

    Example:

    .. code-block:: python

        >>> geojson1 = {'type': 'Feature', 'geometry': {'type': 'Point', 'coordinates': [2, 46]}}
        >>> geosjon2 = {'type': 'Feature', 'geometry': {'type': 'Point', 'coordinates': [2, 47]}}
        >>> merge = merge_geojson_features([geojson1, geosjon2])
        >>> type(merge)
        dict
        >>> merge['type']
        u'FeatureCollection'
        >>> len(merge['features'])
        2
        >>> merge['features'][0]
        {'type': 'Feature', 'geometry': {'type': 'Point', 'coordinates': [2, 46]}}
        >>> merge['features'][1]
        {'type': 'Feature', 'geometry': {'type': 'Point', 'coordinates': [2, 47]}}

    As another example, merging a ``FeatureCollection`` with a ``Feature`` will append the
    ``Feature`` to list of features in the ``FeatureCollection``.
    """
    features = []
    for geojson in geojsons:
        if 'type' in geojson:
            if geojson['type'] == 'Feature':
                features.append(geojson)
            elif geojson['type'] == 'FeatureCollection':
                for feature in geojson['features']:
                    features.append(feature)
    if not features:
        return {}
    return {'type': u'FeatureCollection', 'features': features}
