private static final String parseMultipleParameters(final String[] paramList) throws InvalidPatternException { final StringBuilder sb = new StringBuilder(255); final int length = paramList.length; int start = 1; if ("..".equals(paramList[0])) { sb.append("(((\\s)?" + FULLY_QUALFIED_NAME + "(\\s)?,)*"); if (length > 1) { start = 2; PatternParser.createParameterRegex(sb, paramList[1]); } } else if ("*".equals(paramList[0])) { sb.append("(\\s)?(\\p{javaJavaIdentifierPart})+(\\s)?"); } else if (paramList[0].length() == 0) { throw new InvalidPatternException("Invalid parameter list."); } else { try { sb.append("(\\s)?").append(PatternParser.parseFQType(paramList[0])).append("(\\s)?"); } catch (final InvalidPatternException ex) { throw new InvalidPatternException("Invalid parameter list.", ex); } } for (int i = start; i < length; i++) { PatternParser.createParameterRegex(sb, paramList[i]); } return sb.toString(); }