code: @Override
      public String getDescription(Comparison difference) {
          final ComparisonType type = difference.getType();
          String description = type.getDescription();
          final Detail controlDetails = difference.getControlDetails();
          final Detail testDetails = difference.getTestDetails();
          final String controlTarget =
              getShortString(controlDetails.getTarget(), controlDetails.getXPath(),
                             type);
          final String testTarget =
              getShortString(testDetails.getTarget(), testDetails.getXPath(),
                             type);
  
          if (type == ComparisonType.ATTR_NAME_LOOKUP ) {
              return String.format("Expected %s '%s' - comparing %s to %s",
                  description,
                  controlDetails.getXPath(),
                  controlTarget, testTarget);
          }
          return String.format("Expected %s '%s' but was '%s' - comparing %s to %s",
              description,
              getValue(controlDetails.getValue(), type), getValue(testDetails.getValue(), type),
              controlTarget, testTarget);
      }
docs: Return a short String of the Comparison including the XPath and the shorten value of the effected control and
  test Node.
  
  <p>In general the String will look like "Expected X 'Y' but was 'Z' - comparing A to B" where A and B are the
  result of invoking {@link #getShortString} on the target and XPath of the control and test details of the
  comparison. A is the description of the comparison and B and C are the control and test values (passed through
  {@link #getValue}) respectively.</p>
  
  <p>For missing attributes the string has a slightly different format.</p>
  
  @param difference the comparison to describe
  @return a short description of the comparison