public class CompletionAllocationExpressionIsParent1 {
	CompletionAllocationExpressionIsParent1(int i, long j){super();}
	CompletionAllocationExpressionIsParent1(int i, Object j){super();}
	
	long zzlong;
	int zzint;
	double zzdouble;
	boolean zzboolean;
	Object zzObject;
	
	void foo() {
		new CompletionAllocationExpressionIsParent1(1, zz
	}
}