original_docstring: 
          According to source code we have that sections:
          - header
          - stringids
          - typeids
          - protoids
          - fieldids
          - methodids
          - classdefs
          are extending UniformItemSection which has the following
          implementation to calculate WriteSize:
          (It is a constant independed number instead on relying on
           the class value like StringDataItem)
  
          public final int writeSize() {
              Collection<? extends Item> items = items();
              int sz = items.size();
              if (sz == 0) {
                  return 0;
              }
              // Since each item has to be the same size, we can pick any.
              return sz * items.iterator().next().writeSize();
          }
          We can easily point out now that, in order to calculate the
          writesize of our section, we must first check what kind of
          class we are holding on and then, calculate the data size with
          the help of Androguard's functions.
          It is possible, due to being CPU-consuming, to perform some
          other calculations here too which are based on the kind of instance
          that self.object is pointed to.
          
docstring: According to source code we have that sections:
  header
  stringids
  typeids
  protoids
  fieldids
  methodids
  classdefs
  are extending UniformItemSection which has the following
  implementation to calculate WriteSize:
  (It is a constant independed number instead on relying on
  the class value like StringDataItem)
  
  public final int writeSize() {
  Collection<. extends Item> items = items();
  int sz = items.size();
  if (sz == 0) {
  return 0;
  }
  Since each item has to be the same size, we can pick any.
  return sz * items.iterator().next().writeSize();
  }
  We can easily point out now that, in order to calculate the
  writesize of our section, we must first check what kind of
  class we are holding on and then, calculate the data size with
  the help of Androguard's functions.
  It is possible, due to being CPU-consuming, to perform some
  other calculations here too which are based on the kind of instance
  that self.object is pointed to.
docstring_tokens: According to source code we have that sections : header stringids typeids protoids fieldids methodids classdefs are extending UniformItemSection which has the following implementation to calculate WriteSize : ( It is a constant independed number instead on relying on the class value like StringDataItem ) public final int writeSize () { Collection< . extends Item > items = items () ; int sz = items . size () ; if ( sz == 0 ) { return 0 ; } Since each item has to be the same size we can pick any . return sz * items . iterator () . next () . writeSize () ; } We can easily point out now that in order to calculate the writesize of our section we must first check what kind of class we are holding on and then calculate the data size with the help of Androguard ' s functions . It is possible due to being CPU - consuming to perform some other calculations here too which are based on the kind of instance that self . object is pointed to .
code: def _placeItems(self):
  
          elem = Data.getInstance(self.object)
          """
          According to source code we have that sections:
          - header
          - stringids
          - typeids
          - protoids
          - fieldids
          - methodids
          - classdefs
          are extending UniformItemSection which has the following
          implementation to calculate WriteSize:
          (It is a constant independed number instead on relying on
           the class value like StringDataItem)
  
          public final int writeSize() {
              Collection<? extends Item> items = items();
              int sz = items.size();
              if (sz == 0) {
                  return 0;
              }
              // Since each item has to be the same size, we can pick any.
              return sz * items.iterator().next().writeSize();
          }
          We can easily point out now that, in order to calculate the
          writesize of our section, we must first check what kind of
          class we are holding on and then, calculate the data size with
          the help of Androguard's functions.
          It is possible, due to being CPU-consuming, to perform some
          other calculations here too which are based on the kind of instance
          that self.object is pointed to.
          """
  
          # TODO - Combine in an OR clause the items that have the same writesize
          # also use else if?
          if isinstance(elem, HeaderItem):
              # https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/HeaderItem.java#55
              self.instance_write_size = HEADER_SIZE
              self.data = self.object
              self.write_size = self.instance_write_size
              self.callback = SectionWriter.writeHeaderSection
  
          if isinstance(elem, StringIdItem):
              # https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/StringIdItem.java#29
              self.instance_write_size = 4
              # Assign array of Items to .data property
              self.data = self.object
              # Set write size
              self.write_size = self.instance_write_size * len(self.data)
              # set write callback
              self.callback = SectionWriter.writeStringIdSection
  
          if isinstance(elem, TypeHIdItem):
              # https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/TypeIdItem.java#29
              self.instance_write_size = 4
              # Assign array of Items to .data property
              self.data = self.object.get_type()
              self.write_size = self.instance_write_size * len(self.data)
              self.callback = SectionWriter.writeTypeIdSection
  
          if isinstance(elem, ProtoHIdItem):
              # https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/ProtoIdItem.java#32
              self.instance_write_size = 12
              # Assign array of Items to .data property
              self.data = self.object.get_obj()
              self.write_size = self.instance_write_size * len(self.data)
              self.callback = SectionWriter.writeProtoIdSection
  
          if isinstance(elem, FieldHIdItem):
              # https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/MemberIdItem.java#30
              self.instance_write_size = 8
              # Assign array of Items to .data property
              self.data = self.object.get_obj()
              self.write_size = self.instance_write_size * len(self.data)
              self.callback = SectionWriter.writeFieldIdSection
  
          if isinstance(elem, MethodHIdItem):
              # https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/MemberIdItem.java#30
              self.instance_write_size = 8
              # Assign array of Items to .data property
              self.data = self.object.get_obj()
              self.write_size = self.instance_write_size * len(self.data)
              self.callback = SectionWriter.writeMethodIdSection
  
          if isinstance(elem, ClassHDefItem):
              # https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/ClassDefItem.java#46
              self.instance_write_size = 32
              # Assign array of Items to .data property
              self.data = self.object.get_obj()
              self.write_size = self.instance_write_size * len(self.data)
              self.callback = SectionWriter.writeClassDefSection
code_tokens: def _placeItems ( self ) : elem = Data . getInstance ( self . object ) if isinstance ( elem , HeaderItem ) : self . instance_write_size = HEADER_SIZE self . data = self . object self . write_size = self . instance_write_size self . callback = SectionWriter . writeHeaderSection if isinstance ( elem , StringIdItem ) : self . instance_write_size = 4 self . data = self . object self . write_size = self . instance_write_size * len ( self . data ) self . callback = SectionWriter . writeStringIdSection if isinstance ( elem , TypeHIdItem ) : self . instance_write_size = 4 self . data = self . object . get_type ( ) self . write_size = self . instance_write_size * len ( self . data ) self . callback = SectionWriter . writeTypeIdSection if isinstance ( elem , ProtoHIdItem ) : self . instance_write_size = 12 self . data = self . object . get_obj ( ) self . write_size = self . instance_write_size * len ( self . data ) self . callback = SectionWriter . writeProtoIdSection if isinstance ( elem , FieldHIdItem ) : self . instance_write_size = 8 self . data = self . object . get_obj ( ) self . write_size = self . instance_write_size * len ( self . data ) self . callback = SectionWriter . writeFieldIdSection if isinstance ( elem , MethodHIdItem ) : self . instance_write_size = 8 self . data = self . object . get_obj ( ) self . write_size = self . instance_write_size * len ( self . data ) self . callback = SectionWriter . writeMethodIdSection if isinstance ( elem , ClassHDefItem ) : self . instance_write_size = 32 self . data = self . object . get_obj ( ) self . write_size = self . instance_write_size * len ( self . data ) self . callback = SectionWriter . writeClassDefSection
short_docstring: According to source code we have that sections:
   header
   stringids
   typeids
   protoids
   fieldids
   methodids
   classdefs
  are extending UniformItemSection which has the following
  implementation to calculate WriteSize:
  (It is a constant independed number instead on relying on
  the class value like StringDataItem)
short_docstring_tokens: According to source code we have that sections : header stringids typeids protoids fieldids methodids classdefs are extending UniformItemSection which has the following implementation to calculate WriteSize : ( It is a constant independed number instead on relying on the class value like StringDataItem )
comment: """
          According to source code we have that sections:
          - header
          - stringids
          - typeids
          - protoids
          - fieldids
          - methodids
          - classdefs
          are extending UniformItemSection which has the following
          implementation to calculate WriteSize:
          (It is a constant independed number instead on relying on
           the class value like StringDataItem)
  
          public final int writeSize() {
              Collection<? extends Item> items = items();
              int sz = items.size();
              if (sz == 0) {
                  return 0;
              }
              // Since each item has to be the same size, we can pick any.
              return sz * items.iterator().next().writeSize();
          }
          We can easily point out now that, in order to calculate the
          writesize of our section, we must first check what kind of
          class we are holding on and then, calculate the data size with
          the help of Androguard's functions.
          It is possible, due to being CPU-consuming, to perform some
          other calculations here too which are based on the kind of instance
          that self.object is pointed to.
          """$SEP$# TODO - Combine in an OR clause the items that have the same writesize$SEP$# also use else if?$SEP$# https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/HeaderItem.java#55$SEP$# https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/StringIdItem.java#29$SEP$# Assign array of Items to .data property$SEP$# Set write size$SEP$# set write callback$SEP$# https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/TypeIdItem.java#29$SEP$# Assign array of Items to .data property$SEP$# https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/ProtoIdItem.java#32$SEP$# Assign array of Items to .data property$SEP$# https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/MemberIdItem.java#30$SEP$# Assign array of Items to .data property$SEP$# https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/MemberIdItem.java#30$SEP$# Assign array of Items to .data property$SEP$# https://android.googlesource.com/platform/dalvik/+/master/dexgen/src/com/android/dexgen/dex/file/ClassDefItem.java#46$SEP$# Assign array of Items to .data property