class NativeFileImpl implements NativeFile, Serializable {

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        NativeFileImpl that = (NativeFileImpl) o;
        return Objects.equals(filePath, that.filePath) &&
                Objects.equals(settingsName, that.settingsName) &&
                Objects.equals(workingDirectory, that.workingDirectory);
    }

    public  NativeFileImpl(
            @NonNull File filePath,
            @NonNull String settingsName,
            @Nullable File workingDirectory);

}