code: private Pattern[] validateAndMergePatternInput(final Pattern pattern, final Pattern... patterns) {
          // Precondition check
          if (pattern == null) {
              throw new IllegalArgumentException("At least one pattern must not be specified");
          }
          final List<Pattern> merged = new ArrayList<Pattern>();
          merged.add(pattern);
          for (final Pattern p : patterns) {
              merged.add(p);
          }
          return merged.toArray(PATTERN_CAST);
      }
docs: Validates that at least one pattern was specified, merges all patterns together, and returns the result
  
  @param pattern
  @param patterns
  @return