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