public final boolean isInitialized() {
        if (!hasArea()) {
          
          return false;
        }
        if (!hasPerimeter()) {
          
          return false;
        }
        if (!hasCenter()) {
          
          return false;
        }
        for (int i = 0; i < getVerticesCount(); i++) {
          if (!getVertices(i).isInitialized()) {
            
            return false;
          }
        }
        if (!getCenter().isInitialized()) {
          
          return false;
        }
        for (int i = 0; i < getHolesCount(); i++) {
          if (!getHoles(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }