class PointList implements Iterable<GHPoint3D>, PointAccess {

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < getSize(); i++) {
            if (i > 0)
                sb.append(", ");

            sb.append('(');
            sb.append(getLatitude(i));
            sb.append(',');
            sb.append(getLongitude(i));
            if (this.is3D()) {
                sb.append(',');
                sb.append(getElevation(i));
            }
            sb.append(')');
        }
        return sb.toString();
    }

    public  PointList();
    public  PointList(int cap, boolean is3D);

}