docs: def get_enclosingmethod(self):
          """
          the class.method or class (if the definition is not from within a
          method) that encloses the definition of this class. Returns
          None if this was not an inner class.
  
          reference: http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.7.7
          """  # noqa
  
          buff = self.get_attribute("EnclosingMethod")
  
          # TODO:
          # Running across classes with data in this attribute like
          # 00 06 00 00
          # which would be the 6th const for the class name, and the
          # zero-th (INVALID) const for method. Maybe this is static
          # inner classes?
  
          if buff is None:
              return None
  
          # class index, method index
          with unpack(buff) as up:
              ci, mi = up.unpack_struct(_HH)
  
          result = None
  
          if ci and mi:
              enc_class = self.deref_const(ci)
              enc_meth, enc_type = self.deref_const(mi)
              result = "%s.%s%s" % (enc_class, enc_meth, enc_type)
  
          elif ci:
              result = self.deref_const(ci)
  
          return result