def METHOD_NAME(self):
    model = AbstractModel()
    model.A = RangeSet(2)
    def _b_rule(b, id):
        b.S = Set()
        b.P = Param()
        b.Q = Param(b.S)
    model.B = Block(model.A, rule=_b_rule)
    instance = model.create_instance(
        {
            None: {
                'B': {
                    1: {
                        'S': {None: ['a', 'b', 'c']},
                        'P': {None: 4},
                        'Q': {('a',): 1, ('b',): 2, ('c',): 3},
                    },
                    2: {'S': {None: []}, 'P': {None: 3}},
                }
            }
        }
    )
    self.assertEqual(set(instance.B[1].S), set(['a', 'b', 'c']))
    self.assertEqual(value(instance.B[1].P), 4)
    self.assertEqual(value(instance.B[1].Q['a']), 1)
    self.assertEqual(value(instance.B[1].Q['b']), 2)
    self.assertEqual(value(instance.B[1].Q['c']), 3)
    self.assertEqual(value(instance.B[2].P), 3)