def GetSubFields(self, fd, field_names):

    if isinstance(fd, rdf_protodict.RDFValueArray):
      for value in fd:
        for res in self._GetSubField(value, field_names):
          yield res
    else:
      for res in self._GetSubField(fd, field_names):
        yield res
Registering a plugin
dataset/ETHPy150Open google/grr/grr/lib/aff4.py/Attribute.GetSubFields--crossover with--dataset/ETHPy150Open pingali/dgit/dgitcore/plugins/common.py/PluginManager.register