internal sealed override void Write(FileImage output) 
		{
			output.Write(flags);
			output.WriteCodedIndex(CIx.MemberForwarded,meth);
			output.StringsIndex(iNameIx);
			output.WriteIndex(MDTable.ModuleRef,importScope.Row);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.Write ((short) index);
			output.Write ((short) attr);
			output.WriteCodedIndex(CIx.TypeOrMethodDef, owner);
			output.StringsIndex (nameIx);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.Write(major);
			output.Write(minor);
			output.Write(build);
			output.Write(revision);
			output.Write(flags);
			output.BlobIndex(keyIx);
			output.StringsIndex(nameIx);
			output.StringsIndex(cultIx);
			output.BlobIndex(hashIx);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.Write(flags);
			output.StringsIndex(nameIx);
			output.BlobIndex(hashIx);
		}
		internal sealed override void Write(FileImage output) 
		{
			if (ZeroRva ()) output.Write(0);
			else output.WriteCodeRVA(textOffset);
			output.Write(implFlags);
			output.Write(methFlags);
			output.StringsIndex(nameIx);
			output.BlobIndex(sigIx);
			output.WriteIndex(MDTable.Param,parIx);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.WriteCodedIndex(CIx.MemberRefParent,parent);
			output.StringsIndex(nameIx);
			output.BlobIndex(sigIx);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.StringsIndex(nameIx);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.Write(flags);
			output.StringsIndex(nameIx);
			output.WriteCodedIndex(CIx.TypeDefOrRef,eventType);
		}
		internal sealed override void Write(FileImage output) 
		{
			//      Console.WriteLine("Writing assembly element with nameIx of " + nameIx + " at file offset " + output.Seek(0,SeekOrigin.Current));
			output.Write((uint)hashAlgId);
			output.Write(majorVer);
			output.Write(minorVer);
			output.Write(buildNo);
			output.Write(revisionNo);
			output.Write(flags);
			output.BlobIndex(keyIx);
			output.StringsIndex(nameIx);
			output.StringsIndex(cultIx);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.Write((short)0);
			output.StringsIndex(nameIx);
			output.GUIDIndex(mvidIx);
			output.GUIDIndex(0);
			output.GUIDIndex(0);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.Write(flags);
			output.Write(0);
			output.StringsIndex(nameIx);
			output.StringsIndex(nameSpaceIx);
			output.WriteCodedIndex(CIx.Implementation,parent);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.WriteCodedIndex(CIx.ResolutionScope,(MetaDataElement) parent);
			output.StringsIndex(nameIx);
			output.StringsIndex(nameSpaceIx);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.Write(flags);
			output.StringsIndex(nameIx);
			output.StringsIndex(nameSpaceIx);
			//if (superType != null) 
			// Console.WriteLine("getting coded index for superType of " + name + " = " + superType.GetCodedIx(CIx.TypeDefOrRef));
			output.WriteCodedIndex(CIx.TypeDefOrRef,superType);
			output.WriteIndex(MDTable.Field,fieldIx);
			output.WriteIndex(MDTable.Method,methodIx);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.Write(parMode);
			output.Write(seqNo);
			output.StringsIndex(nameIx);
		}
		internal sealed override void Write(FileImage output) 
		{
			output.Write(fileOffset);
			output.Write(flags);
			output.StringsIndex(nameIx);
			output.WriteCodedIndex(CIx.Implementation,rRef);
		}