public void mark(int status)
{
//mark vertex
this.status = status;
//mark adjacent vertices
Vertex[] adjacentVerts = getAdjacentVertices();
for (int i = 0; i < adjacentVerts.Length; i++)
{
if (adjacentVerts[i].getStatus() == Vertex.UNKNOWN)
{
adjacentVerts[i].mark(status);
}
}
}