private Actions.FaceFacs BMLFaceFacsToAction(string id, int au, FacsSide bmlSide, string start, string end) {
			Actions.Side side = BMLFacsSideToSide(bmlSide);
			if (end!=null && end!="") {
				if (start!=null && start!="") {
					if (id!=null && id!="") {
						//all params*
						return new Actions.FaceFacs(id, au, side, new Actions.SyncPoint(start), new Actions.SyncPoint(end));
					}else{
						//all except id*
						return new Actions.FaceFacs(au, side, new Actions.SyncPoint(start), new Actions.SyncPoint(end));
					}
				}else{
					if (id!=null && id!="") {
						//all except start
						return new Actions.FaceFacs(id, au, side, Actions.SyncPoint.Null, new Actions.SyncPoint(end));
					}else{
						//only end
						return new Actions.FaceFacs(au, side, Actions.SyncPoint.Null, new Actions.SyncPoint(end));
					}
				}
			}else{
				if (start!=null && start!="") {
					if (id!=null && id!="") {
						//all except end*
						return new Actions.FaceFacs(id, au, side, new Actions.SyncPoint(start));
					}else{
						//only start*
						return new Actions.FaceFacs(au, side, new Actions.SyncPoint(start));
					}
				}else{
					if (id!=null && id!="") {
						//only id
						return new Actions.FaceFacs(id, au, side);
					}else{
						//no params
						return new Actions.FaceFacs(au, side);
					}
				}
			}
		}
		private Actions.Side BMLFacsSideToSide(FacsSide side) {
			switch(side) {
				case FacsSide.LEFT: return Actions.Side.Left;
				case FacsSide.RIGHT: return Actions.Side.Right;
			default: return Actions.Side.Both;
			}
		}