public S2Loop(final List<S2Point> vertices){
  this.numVertices=vertices.size();
  this.vertices=new S2Point[numVertices];
  this.bound=S2LatLngRect.full();
  this.depth=0;
  vertices.toArray(this.vertices);
  initOrigin();
  initBound();
  initFirstLogicalVertex();
}

public S2Loop ( final List < S2Point > vertices ) { this . numVertices = vertices . size ( ) ; this . vertices = new S2Point [ numVertices ] ; this . bound = S2LatLngRect . full ( ) ; this . depth = 0 ; vertices . toArray ( this . vertices ) ; initOrigin ( ) ; initBound ( ) ; initFirstLogicalVertex ( ) ; }
initialize a loop connecting the given vertices . the last vertex is implicitly connected to the first . all points should be unit length . loops must have at least 3 vertices .
