kit/src/main/java/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/curve/PolygonEditor.java [57:118]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        super(sceneGraphObject);

        originalPoints = new ArrayList<>(sceneGraphObject.getPoints());
    }
    
    @Override
    public EditCurveGuideController createController(EnumMap<Tunable, Integer> tunableMap) {
        final EditCurveGuideController result = new EditCurveGuideController();
        vertexIndex = -1;
        if (tunableMap.containsKey(Tunable.VERTEX)) {
            vertexIndex = tunableMap.get(Tunable.VERTEX);
        }
        final ObservableList<Double> points = sceneGraphObject.getPoints();
        IntStream.range(0, points.size() / 2)
                .filter(i -> i != vertexIndex)
                .mapToObj(i -> points.subList(i * 2, 2 * (i + 1)))
                .map(list -> sceneGraphObject.localToScene(list.get(0), list.get(1), true))
                .forEach(result::addCurvePoint);
        return result;
    }
    
    @Override
    public void moveTunable(EnumMap<Tunable, Integer> tunableMap, double newX, double newY) {
        Integer index = tunableMap.get(Tunable.VERTEX);
        if (index != null && index > -1 && index < sceneGraphObject.getPoints().size() / 2) {
            sceneGraphObject.getPoints().set(2 * index, newX);
            sceneGraphObject.getPoints().set(2 * index + 1, newY);
        }
    }

    @Override
    public void revertToOriginalState() {
        sceneGraphObject.getPoints().setAll(originalPoints);
    }

    @Override
    public List<PropertyName> getPropertyNames() {
        return propertyNames;
    }

    @Override
    public Object getValue(PropertyName propertyName) {
        assert propertyName != null;
        assert propertyNames.contains(propertyName);
        return null;
    }

    @Override
    public Map<PropertyName, Object> getChangeMap() {
        return new HashMap<>();
    }
    
    @Override
    public List<Double> getPoints() {
        return sceneGraphObject.getPoints();
    }

    @Override
    public void addPoint(EnumMap<Tunable, Integer> tunableMap, double newX, double newY) {
        Integer index = tunableMap.get(Tunable.SIDE);
        if (index != null) {
            index += 1;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



kit/src/main/java/com/oracle/javafx/scenebuilder/kit/editor/panel/content/driver/curve/PolylineEditor.java [57:118]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        super(sceneGraphObject);

        originalPoints = new ArrayList<>(sceneGraphObject.getPoints());
    }
    
    @Override
    public EditCurveGuideController createController(EnumMap<Tunable, Integer> tunableMap) {
        final EditCurveGuideController result = new EditCurveGuideController();
        vertexIndex = -1;
        if (tunableMap.containsKey(Tunable.VERTEX)) {
            vertexIndex = tunableMap.get(Tunable.VERTEX);
        }
        final ObservableList<Double> points = sceneGraphObject.getPoints();
        IntStream.range(0, points.size() / 2)
                .filter(i -> i != vertexIndex)
                .mapToObj(i -> points.subList(i * 2, 2 * (i + 1)))
                .map(list -> sceneGraphObject.localToScene(list.get(0), list.get(1), true))
                .forEach(result::addCurvePoint);
        return result;
    }
    
    @Override
    public void moveTunable(EnumMap<Tunable, Integer> tunableMap, double newX, double newY) {
        Integer index = tunableMap.get(Tunable.VERTEX);
        if (index != null && index > -1 && index < sceneGraphObject.getPoints().size() / 2) {
            sceneGraphObject.getPoints().set(2 * index, newX);
            sceneGraphObject.getPoints().set(2 * index + 1, newY);
        }
    }

    @Override
    public void revertToOriginalState() {
        sceneGraphObject.getPoints().setAll(originalPoints);
    }

    @Override
    public List<PropertyName> getPropertyNames() {
        return propertyNames;
    }

    @Override
    public Object getValue(PropertyName propertyName) {
        assert propertyName != null;
        assert propertyNames.contains(propertyName);
        return null;
    }

    @Override
    public Map<PropertyName, Object> getChangeMap() {
        return new HashMap<>();
    }
    
    @Override
    public List<Double> getPoints() {
        return sceneGraphObject.getPoints();
    }

    @Override
    public void addPoint(EnumMap<Tunable, Integer> tunableMap, double newX, double newY) {
        Integer index = tunableMap.get(Tunable.SIDE);
        if (index != null) {
            index += 1;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



