class Point3dDifference extends AbstractDifferenceList implements IDifferenceList {

    public static IDifference construct(String name, Point3d first, Point3d second) {
        if (first == null && second == null) return null;

        Point3dDifference totalDiff = new Point3dDifference(name);
        totalDiff.addChild(DoubleDifference.construct("x", first == null ? null : first.x, second == null ? null
                : second.x));
        totalDiff.addChild(DoubleDifference.construct("y", first == null ? null : first.y, second == null ? null
                : second.y));
        totalDiff.addChild(DoubleDifference.construct("z", first == null ? null : first.z, second == null ? null
                : second.z));
        if (totalDiff.childCount() == 0) {
            return null;
        }
        return totalDiff;
    }

    private  Point3dDifference(String name);

}