public void initializeFrom(Element element) throws DocumentSerializationException { state = null; for (Enumeration e = element.getChildren(); e.hasMoreElements(); ) { Element childElement = (TextElement) e.nextElement(); String tagName = (String) childElement.getKey(); if (tagName.equals("peerID")) { String peerIDText = DocumentSerializableUtilities.getString(childElement); peerID = MetricUtilities.getPeerIdFromString(peerIDText); } else if (tagName.equals("state")) { state = DocumentSerializableUtilities.getString(childElement); } else if (tagName.equals("transitionTime")) { transitionTime = DocumentSerializableUtilities.getLong(childElement); } else if (tagName.equals("lastLeaseRenewalTime")) { lastLeaseRenewalTime = DocumentSerializableUtilities.getLong(childElement); } else if (tagName.equals("lease")) { lease = DocumentSerializableUtilities.getLong(childElement); } else if (tagName.equals("numConnects")) { numConnects = DocumentSerializableUtilities.getInt(childElement); } else if (tagName.equals("numLeaseRenewals")) { numLeaseRenewals = DocumentSerializableUtilities.getInt(childElement); } else if (tagName.equals("numDisconnects")) { numDisconnects = DocumentSerializableUtilities.getInt(childElement); } else if (tagName.equals("numConnectionsRefused")) { numConnectionsRefused = DocumentSerializableUtilities.getInt(childElement); } else if (tagName.equals("numErrorsAddingClient")) { numErrorsAddingClient = DocumentSerializableUtilities.getInt(childElement); } else if (tagName.equals("numUnableToRespondToConnectRequest")) { numUnableToRespondToConnectRequest = DocumentSerializableUtilities.getInt(childElement); } else if (tagName.equals("totalTimeConnected")) { totalTimeConnected = DocumentSerializableUtilities.getLong(childElement); } } }