private static String generateConstraintParameterClause( ConstraintParameter p, List<Object> parameterValueListInSequence){
		
		StringBuilder stringBuilder = new StringBuilder();
		
		if( p.getParameterValue() == null){
			stringBuilder.append( p.getTableAlias() + "." + p.getParameterName() + " " + p.getCompareType().getJDBCValue() + " NULL");
		}
		//If compareType is IN/NOT IN insert the parameterValue object[] comma separated
		else if( p.getParameterValue() != null && 
				 p.getParameterValue() instanceof Object[] && 
				(p.getCompareType() == CompareType.IN || p.getCompareType() == CompareType.NOT_IN)){
			
			stringBuilder.append( p.getTableAlias() + "." + p.getParameterName() + " " + p.getCompareType().getJDBCValue() + " (");
						
			for( Object parameterValue: (Object[])p.getParameterValue()){
				
				if( parameterValue == null){
					stringBuilder.append( "NULL,");
				}
				else{
					stringBuilder.append( "?,");
					parameterValueListInSequence.add( parameterValue);
				}
			}
			stringBuilder = stringBuilder.delete( stringBuilder.length()-1, stringBuilder.length());
			stringBuilder.append(")");
		}
		else if( p.getParameterValue() != null && !(p.getParameterValue() instanceof Object[])){
					
			stringBuilder.append( p.getTableAlias() + "." + p.getParameterName() + " " + p.getCompareType().getJDBCValue() + " ?");					
			parameterValueListInSequence.add( p.getParameterValue());
		}
		
		return stringBuilder.toString();
	}