private void initFileList() {
    myFileList.setModel(
        new AbstractListModel() {
          public int getSize() {
            return myFiles.length;
          }

          public Object getElementAt(final int index) {
            return myFiles[index].getFile();
          }
        });

    boolean hasVcs = false;
    for (FileInfo info : myFiles) {
      if (info.hasVersionControl()) {
        hasVcs = true;
        HandleType handleType = info.getSelectedHandleType();
        List<String> changelists = handleType.getChangelists();
        final String defaultChangelist = handleType.getDefaultChangelist();
        myChangelist.setModel(new CollectionComboBoxModel(changelists, defaultChangelist));

        myChangelist.setRenderer(
            new ColoredListCellRendererWrapper<String>() {
              @Override
              protected void doCustomize(
                  JList list, String value, int index, boolean selected, boolean hasFocus) {
                if (value == null) return;
                String trimmed = StringUtil.first(value, 50, true);
                if (value.equals(defaultChangelist)) {
                  append(trimmed, selected ? SELECTED_BOLD_ATTRIBUTES : BOLD_ATTRIBUTES);
                } else {
                  append(
                      trimmed,
                      selected
                          ? SimpleTextAttributes.SELECTED_SIMPLE_CELL_ATTRIBUTES
                          : SimpleTextAttributes.SIMPLE_CELL_ATTRIBUTES);
                }
              }
            });

        break;
      }
    }
    myUsingVcsRadioButton.setEnabled(hasVcs);
  }