// Path: src/org/drugepi/match/Match.java
// public enum MatchType {
// 	NEAREST_NEIGHBOR, NN, BALANCED_NEAREST_NEIGHBOR, BALANCED_NN, 
// 	GREEDY_DIGIT, GREEDY_CALIPER, GREEDY, COMPLETE ;
// 		
// 	public static MatchType toMatchType(String s) {
// 		if (s == null) 
// 			return null;
// 			
// 		try {
// 			return(valueOf(s.toUpperCase()));
// 		} catch (Exception e) {
// 			return null;
// 		}
// 	}
// }


import org.drugepi.match.*;
import org.drugepi.match.Match.MatchType;
import org.drugepi.match.storage.*;
import java.util.*;

		for (int i = 0; i < numToPad; i++) {
			TwoWayMatchPatient p = new TwoWayMatchPatient();
			p.id = String.format("BAD ID HIGH %d", i);
			p.addPs(HIGH_PAD_VALUE);
			p.matchGroup = mg;
			mg.add(p);
		}
	}

	protected static void unpadPatientsInGroup(MatchGroup mg) {
		for (Iterator<MatchPatient> iter = mg.iterator(); iter.hasNext();) {
			MatchPatient p = iter.next();
			if (p.id.startsWith("BAD ID"))
				iter.remove();
		}
	}

	public void assignMatchGroups()
	{
    	// set the treatment group to be the first-specified group
    	this.treatmentGroup = this.matchGroupsList.get(0);

	  	// set the referent group to be the second-specified group
    	this.referentGroup = this.matchGroupsList.get(1);

		this.treatmentGroupSize = treatmentGroup.size();
		this.referentGroupSize = referentGroup.size();
	}
	
// Path: src/org/drugepi/match/Match.java
// public enum MatchType {
// 	NEAREST_NEIGHBOR, NN, BALANCED_NEAREST_NEIGHBOR, BALANCED_NN, 
// 	GREEDY_DIGIT, GREEDY_CALIPER, GREEDY, COMPLETE ;
// 		
// 	public static MatchType toMatchType(String s) {
// 		if (s == null) 
// 			return null;
// 			
// 		try {
// 			return(valueOf(s.toUpperCase()));
// 		} catch (Exception e) {
// 			return null;
// 		}
// 	}
// }


// Path: src/org/drugepi/match/controllers/TwoWayMatchController.java
import org.drugepi.match.*;
import org.drugepi.match.Match.MatchType;
import org.drugepi.match.storage.*;
import java.util.*;


		for (int i = 0; i < numToPad; i++) {
			TwoWayMatchPatient p = new TwoWayMatchPatient();
			p.id = String.format("BAD ID HIGH %d", i);
			p.addPs(HIGH_PAD_VALUE);
			p.matchGroup = mg;
			mg.add(p);
		}
	}

	protected static void unpadPatientsInGroup(MatchGroup mg) {
		for (Iterator<MatchPatient> iter = mg.iterator(); iter.hasNext();) {
			MatchPatient p = iter.next();
			if (p.id.startsWith("BAD ID"))
				iter.remove();
		}
	}

	public void assignMatchGroups()
	{
    	// set the treatment group to be the first-specified group
    	this.treatmentGroup = this.matchGroupsList.get(0);

	  	// set the referent group to be the second-specified group
    	this.referentGroup = this.matchGroupsList.get(1);

		this.treatmentGroupSize = treatmentGroup.size();
		this.referentGroupSize = referentGroup.size();
	}
	
	public void printPreMatchStatistics() 