docs: @SuppressWarnings("checkstyle:innerassignment")
      private static IPath[] decodePatterns(NamedNodeMap nodeMap, String tag) {
          final String sequence = removeAttribute(tag, nodeMap);
          if (!"".equals(sequence)) { //$NON-NLS-1$
              final char[][] patterns = CharOperation.splitOn('|', sequence.toCharArray());
              final int patternCount;
              if ((patternCount = patterns.length) > 0) {
                  IPath[] paths = new IPath[patternCount];
                  int index = 0;
                  for (int j = 0; j < patternCount; j++) {
                      final char[] pattern = patterns[j];
                      if (pattern.length == 0) {
                          // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=105581
                          continue;
                      }
                      paths[index++] = new Path(new String(pattern));
                  }
                  if (index < patternCount) {
                      System.arraycopy(paths, 0, paths = new IPath[index], 0, index);
                  }
                  return paths;
              }
          }
          return null;
      }