code: public static SqlParamsPairs handleIn(String sql, Object[] params){
  		
  		//split with question mark placeholder
  		String[] sqlPieces = sql.split("\\?");
  		
  		//question mark placeholder list
  		String[] questionPlaceholders;
  		if(sql.endsWith("?")){
  			questionPlaceholders = new String[sqlPieces.length];
  		}else{
  			questionPlaceholders = new String[sqlPieces.length-1];
  		}
  		for(int i=0;i<questionPlaceholders.length;i++){
  			questionPlaceholders[i]="?";
  		}
  		
  		List<Object> plist = new ArrayList<Object>();
  		for(int i=0; i<params.length; i++){
  			Object p = params[i];
  			if(p.getClass().equals(ArrayList.class)){
  				
  				//change ? => (?,?,?...)
  				//change list to objects
  				StringBuilder sb = new StringBuilder();
  				sb.append("(");
  				ArrayList inParams = (ArrayList)p;
  				for(int j=0;j<inParams.size();j++){
  					if(j!=0){
  						sb.append(",");
  					}
  					sb.append("?");
  					//split list to objects
  					plist.add(inParams.get(j));
  				}
  				sb.append(")");
  				questionPlaceholders[i] = sb.toString();
  				
  			}else{
  				plist.add(p);
  			}
  		}
  		
  		//join sql
  		StringBuilder sqlsb = new StringBuilder();
  		for(int i=0;i<sqlPieces.length;i++){
  			
  			sqlsb.append(sqlPieces[i]);
  			if(i<questionPlaceholders.length){
  				sqlsb.append(questionPlaceholders[i]);
  			}
  		}
  		
  		
  		SqlParamsPairs spPairs = new SqlParamsPairs(sqlsb.toString(),plist.toArray());
  		
  		return spPairs;
  	}
docs: Change sql if found array in params
  @param sql
  @param params
  @return