toString method
override
    A string representation of this object.
Some classes have a default textual representation,
often paired with a static parse function (like int.parse).
These classes will provide the textual representation as
their string representation.
Other classes have no meaningful textual representation
that a program will care about.
Such classes will typically override toString to provide
useful information when inspecting the object,
mainly for debugging or logging.
Implementation
@override
String toString() {
  var constructor = using;
  switch (using) {
    case 'link text':
      constructor = 'linkText';
      break;
    case 'partial link text':
      constructor = 'partialLinkText';
      break;
    case 'tag name':
      constructor = 'tagName';
      break;
    case 'class name':
      constructor = 'className';
      break;
    case 'css selector':
      constructor = 'cssSelector';
      break;
  }
  return 'By.$constructor($value)';
}