private static XmlNode WriteBlock(OCBlock block, XmlDocument document) {
		XmlNode node = document.CreateElement(block.GetType().Name);
		FieldInfo[] fields = GetFields(block.GetType());
		foreach(FieldInfo field in fields) {
			XmlNode childNode = WriteField(field, block, document);
			if(childNode != null) node.AppendChild(childNode);
		}
		return node;
	}
	private static List<FieldInfo> GetFaces(OCBlock block) {
		FieldInfo[] fields = block.GetType().GetFields( BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic );
		List<FieldInfo> list = new List<FieldInfo>();
		foreach(FieldInfo field in fields) {
			if(field.FieldType == typeof(int)) list.Add(field);
		}
		return list;
	}