code: public void addStrippedPropertyPaths(List<String> strippedPaths, String nestedPath, String propertyPath) {
          
          final int startIndex = propertyPath.indexOf('[');
          if (startIndex != -1) {
              final int endIndex = propertyPath.indexOf(']');
              if (endIndex != -1) {
                  final String prefix = propertyPath.substring(0, startIndex);
                  final String key = propertyPath.substring(startIndex, endIndex + 1);
                  final String suffix = propertyPath.substring(endIndex + 1, propertyPath.length());
                  
                  // Strip the first key.
                  strippedPaths.add(nestedPath + prefix + suffix);
                  
                  // Search for further keys to strip, with the first key stripped.
                  addStrippedPropertyPaths(strippedPaths, nestedPath + prefix, suffix);
                  
                  // Search for further keys to strip, with the first key not stripped.
                  addStrippedPropertyPaths(strippedPaths, nestedPath + prefix + key, suffix);
              }
          }
      }
docs: パスからリストのインデックス([1])やマップのキー([key])を除去したものを構成する。
  <p>SpringFrameworkの「PropertyEditorRegistrySupport#addStrippedPropertyPaths(...)」の処理</p>
  @param strippedPaths 除去したパス
  @param nestedPath 現在のネストしたパス
  @param propertyPath 処理対象のパス