private static double euklidSimilarity(List<double[]> vector1, List<double[]> vector2) {
        double diff = 0;
        int listSize = Math.max(vector1.size(), vector2.size());
        for (int i = 0; i < listSize; ++i) {
            double[] ds1 = vector1.size() <= i ? new double[0] : vector1.get(i);
            double[] ds2 = vector2.size() <= i ? new double[0] : vector2.get(i);

            int arrayLength = Math.max(ds1.length, ds2.length);
            for (int j = 0; j < arrayLength; ++j) {
                double d1 = ds1.length <= j ? 0.0 : ds1[j];
                double d2 = ds2.length <= j ? 0.0 : ds2[j];

                diff += Math.pow(d1 - d2, 2);
            }
        }

        return Math.sqrt(diff);
    }