@Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    LocationInfo that = (LocationInfo) o;

    return packageName != null ? packageName.equals(that.packageName) : that.packageName == null
      && (className != null ? className.equals(that.className) : that.className == null
      && (method != null ? method.equals(that.method) : that.method == null
      && (fileName != null ? fileName.equals(that.fileName) : that.fileName == null
      && (lineNumber != null ? lineNumber.equals(that.lineNumber) : that.lineNumber == null
      && (message != null ? message.equals(that.message) : that.message == null)))));

  }
build a LocationInfo instance from one line of a stackTrace

@param fullInfo one line from a stacktrace)
@return a LocationInfo based on the input (or null if input could not be parsed)
olv-api/src/main/java/pl/otros/logview/api/model/LocationInfo.java