code: protected void buildFieldList(final String field, final List<String> fieldList) {
          
          if(Utils.isEmpty(field)) {
              return;
          }
          
          if(!fieldList.contains(field)) {
              fieldList.add(field);
          }
          
          String plainField = String.valueOf(field);
          int keyIndex = plainField.lastIndexOf('[');
          while(keyIndex >= 0) {
              int endKeyIndex = plainField.indexOf(']', keyIndex);
              if(endKeyIndex >= 0) {
                  plainField = plainField.substring(0, keyIndex) + plainField.substring(endKeyIndex + 1);
                  
                  if(!fieldList.contains(plainField)) {
                      fieldList.add(plainField);
                  }
                  keyIndex = plainField.lastIndexOf('[');
              } else {
                  keyIndex = -1;
              }
          }
      }
docs: フィールドのパスを分解して、パスの候補を作成する。
  <p>インデックスを示す'[0]'を除いたりして組み立てる。
  @param field
  @param fieldList