private bool has_field_offset_attribute(attributes_list attrs)
 {
 	foreach (attribute_node attr in attrs)
 	{
 		if (attr.attribute_type == SystemLibrary.SystemLibrary.field_offset_attribute_type)
 			return true;
 	}
 	return false;
 }
 private void SaveAttributes(attributes_list attrs, List<int> offs)
 {
 	int tmp = (int)bw.BaseStream.Position;
 	for (int i=0; i<offs.Count; i++)
 	{
 		bw.Seek(offs[i], SeekOrigin.Begin);
 		bw.Write(tmp);
 		bw.Seek(tmp, SeekOrigin.Begin);
 	}
 	bw.Write(attrs.Count);
 	for (int i=0; i<attrs.Count; i++)
 		SaveAttribute(attrs[i]);
 }
 private attributes_list GetAttributes()
 {
 	int pos = br.ReadInt32();
 	attributes_list attrs = new attributes_list();
 	int tmp = (int)br.BaseStream.Position;
 	br.BaseStream.Seek(pos+start_pos, SeekOrigin.Begin);
 	int count = br.ReadInt32();
 	for (int i=0; i<count; i++)
 		attrs.AddElement(GetAttribute());
 	br.BaseStream.Seek(tmp, SeekOrigin.Begin);
 	return attrs;
 }