@@ -0,0 +1,1687 @@
+package org.perfcake.pc4idea.editor;%0A%0Aimport com.intellij.openapi.fileEditor.FileEditorState;%0Aimport com.intellij.openapi.fileEditor.FileEditorStateLevel;%0Aimport org.jetbrains.annotations.NotNull;%0A%0Aimport java.util.Arrays;%0A%0A/**%0A * Created with IntelliJ IDEA.%0A * User: Stanislav Kaleta%0A * Date: 17.9.2014%0A * To change this template use File %7C Settings %7C File Templates.%0A */%0Apublic class PCFileEditorState implements FileEditorState %7B%0A    private final transient long modificationStamp;%0A    private final String%5B%5D selectedComponents;%0A%0A    public PCFileEditorState(final long modificationStamp, @NotNull final String%5B%5D selectedComponents) %7B%0A        this.modificationStamp = modificationStamp;%0A        this.selectedComponents = selectedComponents;%0A    %7D%0A%0A    @Override%0A    public boolean canBeMergedWith(FileEditorState fileEditorState, FileEditorStateLevel fileEditorStateLevel) %7B%0A        return fileEditorState instanceof PCFileEditorState;%0A    %7D%0A%0A    public String%5B%5D getSelectedComponentIds()%7B%0A        return selectedComponents;%0A    %7D%0A%0A    @Override%0A    public boolean equals(Object o) %7B%0A        if (this == o) return true;%0A        if (o == null %7C%7C getClass() != o.getClass()) return false;%0A%0A        PCFileEditorState that = (PCFileEditorState) o;%0A%0A        if (modificationStamp != that.modificationStamp) return false;%0A        if (!Arrays.equals(selectedComponents, that.selectedComponents)) return false;%0A%0A        return true;%0A    %7D%0A    @Override%0A    public int hashCode() %7B%0A        int result = (int) (modificationStamp %5E (modificationStamp %3E%3E%3E 32));%0A        result = 31 * result + (selectedComponents != null ? Arrays.hashCode(selectedComponents) : 0);%0A        return result;%0A    %7D%0A%7D%0A

package update