// All the priorities are equal and all the properties are set
// so it is possible that the values on all edges may be equal.
// Now check to see how many properties are needed.
StyleValue top = getEdgeValue(inputValues, PropertyGroups.TOP);
StyleValue right = getEdgeValue(inputValues, PropertyGroups.RIGHT);
StyleValue bottom = getEdgeValue(inputValues,
PropertyGroups.BOTTOM);
StyleValue left = getEdgeValue(inputValues, PropertyGroups.LEFT);
// If there is only one value, it applies to all sides. If there are
// two values, the top and bottom borders are set to the first value
// and the right and left are set to the second. If there are three
// values, the top is set to the first value, the left and right are
// set to the second, and the bottom is set to the third. If there are
// four values, they apply to the top, right, bottom, and left,
// respectively.
StyleValue commonTopBottom = commonValue(top, bottom);
StyleValue commonRightLeft = commonValue(left, right);
if (commonRightLeft != null) {
if (commonTopBottom != null) {
StyleValue commonTopRight =
commonValue(commonTopBottom, commonRightLeft);
if (commonTopRight != null) {
// All the values are the same so only write out one value.
edgeCount = 1;
edges[0] = getConcreteValue(PropertyGroups.TOP,