private static byte [] constructorHelperValues (byte [] values, byte [] left, byte [] right) {
		int llength; int rlength;
		if (left== null){
			llength=0;
		}
		else {
			llength=left.length;
		}
		
		if (right==null){
			rlength=0;
		}
		else {
			rlength = right.length;
		}
		
		byte value[] = new byte[values.length+llength+rlength];
		
		int lefti=0;
		int righti=0;
		for (int i=0; i < value.length; i++){
			if (i<values.length){
				value[i]=values[i];
			}
			if (i >= values.length && i<(values.length+llength)){
				value[i]=left[lefti];
				lefti++;
			}
			if (i>= (values.length + llength) && i < (values.length+left.length+rlength)){
				value[i]=right[righti];
				righti++;
			}
				
		}
		
		return value;
	}