Collection<TriangleXYZWithNormals> result =
new ArrayList<TriangleXYZWithNormals>(triangles.size());
for (TriangleXYZ triangle : triangles) {
result.add(new TriangleXYZWithNormals(triangle,
calculateNormal(triangle.v1, triangle, adjacentTriangles),
calculateNormal(triangle.v2, triangle, adjacentTriangles),
calculateNormal(triangle.v3, triangle, adjacentTriangles)));
}