def _configure_from_mapping(self, item, whitelist_keys=False,
                                whitelist=None):
        """Configure from a mapping, or dict, like object.

        Args:
            item (dict):
                A dict-like object that we can pluck values from.

        Keyword Args:
            whitelist_keys (bool):
                Should we whitelist the keys before adding them to the
                configuration? If no whitelist is provided, we use the
                pre-existing config keys as a whitelist.
            whitelist (list[str]):
                An explicit list of keys that should be allowed. If provided
                and ``whitelist_keys`` is true, we will use that as our
                whitelist instead of pre-existing app config keys.

        Returns:
            fleaker.App:
                Returns itself.
        """
        if whitelist is None:
            whitelist = self.config.keys()

        if whitelist_keys:
            item = {k: v for k, v in item.items() if k in whitelist}

        self.config.from_mapping(item)

        return self