LoboEvolution/LoboEvolution

View on GitHub
LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java

Summary

Maintainability
F
1 wk
Test Coverage

File HTMLElement2Test.java has 1279 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/*
 * MIT License
 *
 * Copyright (c) 2014 - 2024 LoboEvolution
 *

    HTMLElement2Test has 74 methods (exceeds 20 allowed). Consider refactoring.
    Open

    @ExtendWith(AlertsExtension.class)
    public class HTMLElement2Test extends LoboUnitTest {
    
        @Test
        @Alerts({"undefined", "undefined"})

      Method offsetLeftPositionLeftDifferentCombinations has 39 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          @Test
          @Alerts({"1 absolute_auto 0", "2 absolute_length 50", "3 absolute_inherit 10", "4 fixed_auto 10",
                  "5 fixed_length 50", "6 fixed_inherit 10", "7 relative_auto 0", "8 relative_length 50",
                  "9 relative_inherit 10", "10 static_auto 0", "11 static_length 0", "12 static_inherit 0",
                  "13 inherit_auto 0", "14 inherit_length 50", "15 inherit_inherit 10"})

        Method offsetWidthAndHeight has 30 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            @Test
            @Alerts({"30px", "46", "55px", "71", "71", "0", "0", "0", "0"})
            public void offsetWidthAndHeight() {
                final String html =
                        "<html><head>\n"

          Method innerTextEmpty has 27 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              @Test
              @Alerts({"0", "1", " ", "0", "1", "undefined", "1", "[object Object]"})
              public void innerTextEmpty() {
                  final String html = "<html><head>\n"
                          + "<script>"

            Method offsetTopWithPreviousSiblings has 27 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                @Test
                @Alerts({"true", "true", "2", "3", "4", "5", "6", "7", "8", "9", "99", "199", "5999"})
                public void offsetTopWithPreviousSiblings() {
                    StringBuilder html =
                            new StringBuilder("<html><head>\n"

              Method variousNames has 26 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                  @Test
                  @Alerts({"DIV,DIV,http://www.w3.org/1999/xhtml,null,div", "svg,svg,http://www.w3.org/2000/svg,null,svg",
                          "g,g,http://www.w3.org/2000/svg,null,g", "svg,svg,http://www.w3.org/2000/svg,null,svg"})
                  public void variousNames() {
                      final String html =

                Method offsetWidthWithEvent has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                    @Test
                    @Alerts("attachEvent not available")
                    public void offsetWidthWithEvent() {
                        final String html =
                                "<html>\n"

                  Define a constant instead of duplicating this literal " if (myTestDiv.childNodes.length == 0) " 5 times.
                  Open

                                  + "    if (myTestDiv.childNodes.length == 0)\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " alert(document.body.setAttributeNode(attribute)); " 4 times.
                  Open

                                  + "    alert(document.body.setAttributeNode(attribute));\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " function test() { " 4 times.
                  Open

                                  +  " function test() {\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal "
                  Open

                                  + "</body></html>";

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " checkChildren(); " 10 times.
                  Open

                                  + "    checkChildren();\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 23 times.
                  Open

                                  + "<body onload='test()'>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal "
                  Open

                          html.append("</body>\n").append("</html>");

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " } " 44 times.
                  Open

                                  + "  }\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " attribute.nodeValue = 'klazz'; " 4 times.
                  Open

                                  + "    attribute.nodeValue = 'klazz';\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 13 times.
                  Open

                                          + "<head>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 6 times.
                  Open

                                          + "    </script>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal "function test() { " 4 times.
                  Open

                                  + "function test() {\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " <script> " 7 times.</script>
                  Open

                                          + "    <script>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 6 times.
                  Open

                                          + "    </div>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " else " 5 times.
                  Open

                                  + "    else\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " <script> " 3 times.</script>
                  Open

                                  + "  <script>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " alert(e.offsetLeft); " 5 times.
                  Open

                                          + "        alert(e.offsetLeft);\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " <div id="myTestDiv">something</div> " 7 times.
                  Open

                                  + "  <div id='myTestDiv'>something</div>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 29 times.
                  Open

                                  + "</head>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " } " 5 times.
                  Open

                                          + "      }\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal "
                  Open

                                          + "</html>";

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 22 times.
                  Open

                          final String html = "<html><head>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 3 times.
                  Open

                                  + "    \n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal "'); " 4 times.
                  Open

                                  + "  document.getElementById('it').querySelectorAll('" + selector + "');\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " alert(e.offsetWidth); " 3 times.
                  Open

                                          + "    alert(e.offsetWidth);\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 5 times.
                  Open

                                          + "      </div>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 3 times.
                  Open

                                  + "  </script>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 4 times.
                  Open

                                  = "<html><body>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal "<script>" 4 times.</script>
                  Open

                                  + "<script>"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " } " 4 times.
                  Open

                                  + "    }\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 6 times.
                  Open

                                  + "<body>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " function test() { " 26 times.
                  Open

                                  + "  function test() {\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " var e = document.getElementById('d'); " 5 times.
                  Open

                                          + "        var e = document.getElementById('d');\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " alert(e.offsetHeight); " 3 times.
                  Open

                                          + "    alert(e.offsetHeight);\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 23 times.
                  Open

                          final String html = "<html>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal "<script> " 37 times.</script>
                  Open

                                  + "<script>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 6 times.
                  Open

                                  + "</script></head>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " function checkChildren() { " 5 times.
                  Open

                                  + "  function checkChildren() {\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal "
                  Open

                                  + "<body onload='test()'></body></html>";

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " function test() { " 5 times.
                  Open

                                          + "      function test() {\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " alert(myTestDiv.childNodes.item(0).data); " 5 times.
                  Open

                                  + "      alert(myTestDiv.childNodes.item(0).data);\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal "
                  Open

                                  + "</script></body></html>";

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " alert(e.offsetTop); " 5 times.
                  Open

                                          + "        alert(e.offsetTop);\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal "
                  Open

                                          + "  </body>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 6 times.
                  Open

                                          + "  </head>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " alert('0'); " 5 times.
                  Open

                                  + "      alert('0');\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 6 times.
                  Open

                                          + "  <head>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Define a constant instead of duplicating this literal " " 28 times.
                  Open

                                  + "</script>\n"

                  Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

                  On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

                  Noncompliant Code Example

                  With the default threshold of 3:

                  public void run() {
                    prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                    execute("action1");
                    release("action1");
                  }
                  
                  @SuppressWarning("all")                            // Compliant - annotations are excluded
                  private void method1() { /* ... */ }
                  @SuppressWarning("all")
                  private void method2() { /* ... */ }
                  
                  public String method3(String a) {
                    System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                    return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
                  }
                  

                  Compliant Solution

                  private static final String ACTION_1 = "action1";  // Compliant
                  
                  public void run() {
                    prepare(ACTION_1);                               // Compliant
                    execute(ACTION_1);
                    release(ACTION_1);
                  }
                  

                  Exceptions

                  To prevent generating some false-positives, literals having less than 5 characters are excluded.

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"1 absolute_auto 0", "2 absolute_length 50", "3 absolute_inherit 10", "4 fixed_auto 10",
                              "5 fixed_length 50", "6 fixed_inherit 10", "7 relative_auto 0", "8 relative_length 50",
                              "9 relative_inherit 10", "10 static_auto 0", "11 static_length 0", "12 static_inherit 0",
                              "13 inherit_auto 0", "14 inherit_length 50", "15 inherit_inherit 10"})
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 763..806

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 165.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 18 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"30px", "46", "55px", "71", "71", "0", "0", "0", "0"})
                      public void offsetWidthAndHeight() {
                          final String html =
                                  "<html><head>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 746..779
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2085..2121
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 855..889
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 309..341
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 453..485
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 488..520
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 604..636
                  LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 120..154
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 1138..1175
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 328..360
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 362..396
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 764..801
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 804..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 85..119
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1131..1164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4219..4263
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 1127..1169

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 125.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 24 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"DIV,DIV,http://www.w3.org/1999/xhtml,null,div", "svg,svg,http://www.w3.org/2000/svg,null,svg",
                              "g,g,http://www.w3.org/2000/svg,null,g", "svg,svg,http://www.w3.org/2000/svg,null,svg"})
                      public void variousNames() {
                          final String html =
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 453..486
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 410..443
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 509..543
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1501..1530
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1591..1619
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2356..2385
                  LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 156..186
                  LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 188..218
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentFragmentTest.java on lines 177..207
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 130..160
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeIteratorTest.java on lines 72..102
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLButtonElementTest.java on lines 173..205
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 119..149
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2110..2139
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 103..133
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1339..1369
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 1007..1040
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 41..70
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 157..187
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 189..219
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 469..500
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 416..448
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 900..933

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 109.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 24 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts("attachEvent not available")
                      public void offsetWidthWithEvent() {
                          final String html =
                                  "<html>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 453..486
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 410..443
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 509..543
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1501..1530
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1591..1619
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2356..2385
                  LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 156..186
                  LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 188..218
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentFragmentTest.java on lines 177..207
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 130..160
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeIteratorTest.java on lines 72..102
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLButtonElementTest.java on lines 173..205
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 119..149
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2110..2139
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1299..1330
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1339..1369
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 1007..1040
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 41..70
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 157..187
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 189..219
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 469..500
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 416..448
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 900..933

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 109.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 52 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts("true")
                      public void offsetLeftPositionFixed() {
                          final String html = "<html>\n"
                                  + "<head>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 562..590
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 1226..1257
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 198..226
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 228..256
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 258..286
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 288..316
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 318..346
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 348..378
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 380..408
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 407..436
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 510..539
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 565..593
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 619..648
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 650..679
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 90..117
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 188..216
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1315..1342
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1380..1407
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1443..1470
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1472..1499
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclaration2Test.java on lines 251..278
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 93..121
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentFragmentTest.java on lines 146..174
                  LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 136..164
                  LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 222..250
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 447..474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 138..165
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 258..285
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 949..981
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 508..535
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1282..1309
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 131..159
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 161..189
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 191..219
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 762..791
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionsCollectionTest.java on lines 670..698
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLPreElementTest.java on lines 42..71
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 960..987
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 250..279
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 281..310
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 312..341
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 396..425
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1931..1959
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 79..107
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 109..137
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 323..351
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 443..471
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 65..93
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 176..203
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 320..348
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 210..243

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 101.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 99 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"15", "15"})
                      public void offsetTopAndLeftPadding() {
                          final String html =
                                  "<html>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
                  LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 85.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 99 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"something", "0"})
                      public void textContentEmptyString() {
                          final String html = "<html><head>\n"
                                  + "<script>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
                  LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 85.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 99 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"something", "Hello World"})
                      public void innerText() {
                          final String html = "<html><head>\n"
                                  + "<script>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
                  LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 85.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 99 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"15", "15"})
                      public void offsetTopAndLeftBorders() {
                          final String html =
                                  "<html>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
                  LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 85.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 99 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"something", "0"})
                      public void textContentNull() {
                          final String html = "<html><head>\n"
                                  + "<script>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
                  LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 85.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 99 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"something", "0"})
                      public void innerTextEmptyString() {
                          final String html = "<html><head>\n"
                                  + "<script>"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
                  LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 85.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 99 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"13", "28"})
                      public void offsetTopAndLeftMargins() {
                          final String html =
                                  "<html>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
                  LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 85.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 99 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"something", "0"})
                      public void innerTextnull() {
                          final String html = "<html><head>\n"
                                  + "<script>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
                  LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 85.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 99 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"50", "50"})
                      public void offsetTopAndLeft_AbsolutelyPositioned() {
                          final String html =
                                  "<html>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
                  LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 85.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 99 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"0", "0"})
                      public void offsetTopAndLeft_Nothing() {
                          final String html =
                                  "<html>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
                  LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 85.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 99 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"3", "div1"})
                      public void querySelectorAll() {
                          final String html = "<html><head>\n"
                                  + "<style>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
                  LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
                  LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
                  LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 85.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 112 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"23", "19"})
                      public void offsetTopAndLeftWithRelativePosition() {
                          final String html
                                  = "<html><body onload='test()'><script language='javascript'>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 681..704
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 706..729
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 818..841
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 843..866
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 303..325
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 373..395
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 442..464
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 533..555
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 674..696
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 698..720
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 722..744
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1268..1290
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1692..1714
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 658..679
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2101..2122
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2124..2145
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2147..2168
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2170..2191
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 190..212
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1024..1045
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1048..1069
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1165..1186
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2026..2047
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2151..2173
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 118..141
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 472..495
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 497..520
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 639..662
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 104..127
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1066..1089
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1379..1402
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1713..1736
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTypeTest.java on lines 102..123
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 58..80
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 142..164
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 166..188
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 218..244
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 194..216
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 423..445
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 565..587
                  LoboUnitTest/src/test/java/org/loboevolution/event/CustomEventTest.java on lines 194..218
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTargetTest.java on lines 41..63
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 161..184
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 186..209
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 211..234
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 287..309
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 130..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 66..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 90..112
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDivElementTest.java on lines 41..63
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 64..86
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 407..431
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1193..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1217..1239
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 59..80
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 658..680
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1035..1057
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1190..1214
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 122..144
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 201..223
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 225..247
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 579..602
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 725..746
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3002..3025
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3117..3139
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3142..3164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3648..3669
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 781..803
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 883..905
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 907..929
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 931..953
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 385..409
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 98..121
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 406..427
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 736..760
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 72..97
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 868..890
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1043..1064
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1122..1152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 186..210
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 343..367
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1184..1206
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1238..1260
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1577..1600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1602..1625
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1627..1650
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1652..1675
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1758..1780
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1782..1804
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1806..1828
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1830..1853
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1855..1877
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1879..1902
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2074..2098
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2100..2124
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 46..69
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 176..199
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 542..564
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 606..629
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 803..826
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 243..266
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 455..478
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 480..503
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 263..287
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 289..313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 174..197
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 391..414
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 429..450
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 957..980
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 148..169

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 81.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 112 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"Old\\s=\\s<b\\sid=\"innerNode\">Old\\souterHTML</b>",
                              "New\\s=\\s\\s<b><i\\sid=\"newElt\">New\\scell\\svalue</i></b>",
                              "I"})
                      public void getSetOuterHTMLComplex() {
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 681..704
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 706..729
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 818..841
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 843..866
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 303..325
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 373..395
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 442..464
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 533..555
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 674..696
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 698..720
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 722..744
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1268..1290
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1692..1714
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 658..679
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2101..2122
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2124..2145
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2147..2168
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2170..2191
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 190..212
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1024..1045
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1048..1069
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1165..1186
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2026..2047
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2151..2173
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 118..141
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 472..495
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 497..520
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 639..662
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 104..127
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1066..1089
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1379..1402
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1713..1736
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTypeTest.java on lines 102..123
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 58..80
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 142..164
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 166..188
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 218..244
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 194..216
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 423..445
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 565..587
                  LoboUnitTest/src/test/java/org/loboevolution/event/CustomEventTest.java on lines 194..218
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTargetTest.java on lines 41..63
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 161..184
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 186..209
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 211..234
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 287..309
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 130..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 66..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 90..112
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDivElementTest.java on lines 41..63
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 64..86
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 407..431
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1193..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1217..1239
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 59..80
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 459..481
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 658..680
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1035..1057
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 122..144
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 201..223
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 225..247
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 579..602
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 725..746
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3002..3025
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3117..3139
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3142..3164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3648..3669
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 781..803
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 883..905
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 907..929
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 931..953
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 385..409
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 98..121
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 406..427
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 736..760
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 72..97
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 868..890
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1043..1064
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1122..1152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 186..210
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 343..367
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1184..1206
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1238..1260
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1577..1600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1602..1625
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1627..1650
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1652..1675
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1758..1780
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1782..1804
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1806..1828
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1830..1853
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1855..1877
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1879..1902
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2074..2098
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2100..2124
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 46..69
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 176..199
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 542..564
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 606..629
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 803..826
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 243..266
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 455..478
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 480..503
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 263..287
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 289..313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 174..197
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 391..414
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 429..450
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 957..980
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 148..169

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 81.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 112 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"true", "center", "true", "center", "false"})
                      public void removeAttributeNode() {
                          final String html
                                  = "<html>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 681..704
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 706..729
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 818..841
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 843..866
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 303..325
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 373..395
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 442..464
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 533..555
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 674..696
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 698..720
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 722..744
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1268..1290
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1692..1714
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 658..679
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2101..2122
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2124..2145
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2147..2168
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2170..2191
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 190..212
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1024..1045
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1048..1069
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1165..1186
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2026..2047
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2151..2173
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 118..141
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 472..495
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 497..520
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 639..662
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 104..127
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1066..1089
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1379..1402
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1713..1736
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTypeTest.java on lines 102..123
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 58..80
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 142..164
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 166..188
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 218..244
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 194..216
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 423..445
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 565..587
                  LoboUnitTest/src/test/java/org/loboevolution/event/CustomEventTest.java on lines 194..218
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTargetTest.java on lines 41..63
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 161..184
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 186..209
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 211..234
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 287..309
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 130..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 66..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 90..112
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDivElementTest.java on lines 41..63
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 64..86
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 407..431
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1193..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1217..1239
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 59..80
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 459..481
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 658..680
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1190..1214
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 122..144
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 201..223
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 225..247
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 579..602
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 725..746
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3002..3025
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3117..3139
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3142..3164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3648..3669
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 781..803
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 883..905
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 907..929
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 931..953
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 385..409
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 98..121
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 406..427
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 736..760
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 72..97
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 868..890
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1043..1064
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1122..1152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 186..210
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 343..367
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1184..1206
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1238..1260
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1577..1600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1602..1625
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1627..1650
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1652..1675
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1758..1780
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1782..1804
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1806..1828
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1830..1853
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1855..1877
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1879..1902
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2074..2098
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2100..2124
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 46..69
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 176..199
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 542..564
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 606..629
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 803..826
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 243..266
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 455..478
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 480..503
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 263..287
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 289..313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 174..197
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 391..414
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 429..450
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 957..980
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 148..169

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 81.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 112 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"true", "true", "true"})
                      public void offsetWidthTakeContentIntoAccount() {
                          final String html = "<html><head>\n"
                                   + "<script>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 681..704
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 706..729
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 818..841
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 843..866
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 303..325
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 373..395
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 442..464
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 533..555
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 674..696
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 698..720
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 722..744
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1268..1290
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1692..1714
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 658..679
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2101..2122
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2124..2145
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2147..2168
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2170..2191
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 190..212
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1024..1045
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1048..1069
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1165..1186
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2026..2047
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2151..2173
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 118..141
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 472..495
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 497..520
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 639..662
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 104..127
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1066..1089
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1379..1402
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1713..1736
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTypeTest.java on lines 102..123
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 58..80
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 142..164
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 166..188
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 218..244
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 194..216
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 423..445
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 565..587
                  LoboUnitTest/src/test/java/org/loboevolution/event/CustomEventTest.java on lines 194..218
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTargetTest.java on lines 41..63
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 161..184
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 186..209
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 211..234
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 287..309
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 130..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 66..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 90..112
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDivElementTest.java on lines 41..63
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 64..86
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 407..431
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1193..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1217..1239
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 59..80
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 459..481
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1035..1057
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1190..1214
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 122..144
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 201..223
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 225..247
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 579..602
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 725..746
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3002..3025
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3117..3139
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3142..3164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3648..3669
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 781..803
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 883..905
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 907..929
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 931..953
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 385..409
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 98..121
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 406..427
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 736..760
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 72..97
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 868..890
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1043..1064
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1122..1152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 186..210
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 343..367
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1184..1206
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1238..1260
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1577..1600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1602..1625
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1627..1650
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1652..1675
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1758..1780
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1782..1804
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1806..1828
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1830..1853
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1855..1877
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1879..1902
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2074..2098
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2100..2124
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 46..69
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 176..199
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 542..564
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 606..629
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 803..826
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 243..266
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 455..478
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 480..503
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 263..287
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 289..313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 174..197
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 391..414
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 429..450
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 957..980
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 148..169

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 81.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 112 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"undefined", "undefined", "undefined", "http://www.meh.com/meh"})
                      public void scopeName2() {
                          final String html = "<html xmlns:blah='http://www.blah.com/blah'><head>\n"
                                  + "<script>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 681..704
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 706..729
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 818..841
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 843..866
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 303..325
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 373..395
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 442..464
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 533..555
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 674..696
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 698..720
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 722..744
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1268..1290
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1692..1714
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 658..679
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2101..2122
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2124..2145
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2147..2168
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2170..2191
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 190..212
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1024..1045
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1048..1069
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1165..1186
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2026..2047
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2151..2173
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 118..141
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 472..495
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 497..520
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 639..662
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 104..127
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1066..1089
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1379..1402
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1713..1736
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTypeTest.java on lines 102..123
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 58..80
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 142..164
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 166..188
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 218..244
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 194..216
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 423..445
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 565..587
                  LoboUnitTest/src/test/java/org/loboevolution/event/CustomEventTest.java on lines 194..218
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTargetTest.java on lines 41..63
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 161..184
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 186..209
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 211..234
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 287..309
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 130..152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 66..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 90..112
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDivElementTest.java on lines 41..63
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 64..86
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 407..431
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1193..1215
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1217..1239
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 459..481
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 658..680
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1035..1057
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1190..1214
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 122..144
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 201..223
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 225..247
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 579..602
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 725..746
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3002..3025
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3117..3139
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3142..3164
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3648..3669
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 781..803
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 883..905
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 907..929
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 931..953
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 385..409
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 475..499
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 98..121
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 406..427
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 736..760
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 72..97
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 868..890
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1043..1064
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1122..1152
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 186..210
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 343..367
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1184..1206
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1238..1260
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1577..1600
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1602..1625
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1627..1650
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1652..1675
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1758..1780
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1782..1804
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1806..1828
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1830..1853
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1855..1877
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1879..1902
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2074..2098
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2100..2124
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 46..69
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 176..199
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 542..564
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 606..629
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 803..826
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 243..266
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 455..478
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 480..503
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 263..287
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 289..313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 174..197
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 391..414
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 429..450
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 957..980
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 148..169

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 81.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                          final String html = "<html><head>\n"
                                  + "</head>\n"
                                  + "<body>\n"
                                  + "<div id='div' on" + type + "='alert(\"div handler\")'>\n"
                                  + "<input id='input' on" + type + "='alert(\"input handler\")'>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMImplementationTest.java on lines 197..209

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 66.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 117 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"400", "50"})
                      public void offsetTopAndLeftFixed() {
                          final String html =
                                  "<html>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
                  LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
                  LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
                  LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
                  LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
                  LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
                  LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
                  LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
                  LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 65.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 117 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"8", "8"})
                      public void offsetTopAndLeftWhenParentIsBody() {
                          final String html
                                  = "<html><head>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
                  LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
                  LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
                  LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
                  LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
                  LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
                  LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
                  LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
                  LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
                  LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
                  LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 65.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 118 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"MyTitlevar i;", "MyTitlevar i;"})
                      public void innerTextHead() {
                          final String html = "<html><head>"
                                  + "<title>MyTitle</title>"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 424..441
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 41..59
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 78..94
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 156..172
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1574..1592
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1594..1611
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1613..1630
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 555..571
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 573..589
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 737..753
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1067..1083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1185..1202
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2438..2456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2511..2529
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 45..63
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1662..1678
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1703..1719
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2243..2260
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2282..2299
                  LoboUnitTest/src/test/java/org/loboevolution/css/StyleMediaTest.java on lines 59..77
                  LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 219..236
                  LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 303..321
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 98..115
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 117..134
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 136..153
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 155..172
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 174..191
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 265..282
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 312..329
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 703..721
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 335..353
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 376..394
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 600..618
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 795..814
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1538..1555
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1819..1837
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1951..1968
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2048..2065
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2200..2218
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2244..2262
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2264..2282
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2284..2302
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2304..2322
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2324..2342
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2344..2362
                  LoboUnitTest/src/test/java/org/loboevolution/dom/EventNodeTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 41..59
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 509..526
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 96..113
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 261..278
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 844..861
                  LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 243..260
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 286..302
                  LoboUnitTest/src/test/java/org/loboevolution/event/MessageEventTest.java on lines 99..116
                  LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 206..222
                  LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 98..114
                  LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 116..132
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAllCollectionTest.java on lines 434..450
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 302..320
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 76..94
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 315..332
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 616..632
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 854..871
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1337..1355
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1638..1655
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1877..1893
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2158..2175
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2197..2214
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 61..78
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 211..229
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 231..249
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 545..562
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1084..1101
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 838..853
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1469..1485
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1487..1503
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1976..1992
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2098..2114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2169..2185
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2391..2408
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2451..2469
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2678..2695
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2938..2954
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3166..3183
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3522..3537
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3539..3554
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3795..3812
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 501..518
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 96..113
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 285..303
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 305..323
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 325..343
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElement2Test.java on lines 41..58
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 227..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 604..622
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 648..666
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 989..1007
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1009..1027
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1216..1234
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1912..1931
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMediaElementTest.java on lines 125..142
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 68..86
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLObjectElement2Test.java on lines 60..77
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 363..379
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 422..440
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 445..463
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 699..717
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1502..1520
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2126..2144
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 224..242
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 297..315
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 767..784
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 41..58
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 60..77
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 80..97

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 61.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 118 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"75", "2", "5", "20", "50", "50", "18"})
                      public void offsetHeightCalculatedBasedOnChildren() {
                          final String html
                                  = "<html>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 424..441
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 41..59
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 78..94
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 156..172
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1574..1592
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1594..1611
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1613..1630
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 555..571
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 573..589
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 737..753
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1067..1083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1185..1202
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2438..2456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2511..2529
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 45..63
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1662..1678
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1703..1719
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2243..2260
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2282..2299
                  LoboUnitTest/src/test/java/org/loboevolution/css/StyleMediaTest.java on lines 59..77
                  LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 219..236
                  LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 303..321
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 98..115
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 117..134
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 136..153
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 155..172
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 174..191
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 265..282
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 312..329
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 703..721
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 335..353
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 376..394
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 600..618
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 795..814
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1538..1555
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1819..1837
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1951..1968
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2048..2065
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2200..2218
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2244..2262
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2264..2282
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2284..2302
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2304..2322
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2324..2342
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2344..2362
                  LoboUnitTest/src/test/java/org/loboevolution/dom/EventNodeTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 41..59
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 509..526
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 96..113
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 261..278
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 844..861
                  LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 243..260
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 286..302
                  LoboUnitTest/src/test/java/org/loboevolution/event/MessageEventTest.java on lines 99..116
                  LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 206..222
                  LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 98..114
                  LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 116..132
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAllCollectionTest.java on lines 434..450
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 302..320
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 76..94
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 315..332
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 616..632
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 854..871
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1337..1355
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1638..1655
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1877..1893
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2158..2175
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2197..2214
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 61..78
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 211..229
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 231..249
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 877..894
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1084..1101
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 838..853
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1469..1485
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1487..1503
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1976..1992
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2098..2114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2169..2185
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2391..2408
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2451..2469
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2678..2695
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2938..2954
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3166..3183
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3522..3537
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3539..3554
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3795..3812
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 501..518
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 96..113
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 285..303
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 305..323
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 325..343
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElement2Test.java on lines 41..58
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 227..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 604..622
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 648..666
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 989..1007
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1009..1027
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1216..1234
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1912..1931
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMediaElementTest.java on lines 125..142
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 68..86
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLObjectElement2Test.java on lines 60..77
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 363..379
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 422..440
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 445..463
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 699..717
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1502..1520
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2126..2144
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 224..242
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 297..315
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 767..784
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 41..58
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 60..77
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 80..97

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 61.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 118 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"1", "p1"})
                      public void querySelectorAllOnDisconnectedElement() {
                          final String html = "<html><head>\n"
                                  + "<script>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 424..441
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 41..59
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 78..94
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 156..172
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1574..1592
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1594..1611
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1613..1630
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 555..571
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 573..589
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 737..753
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1067..1083
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1185..1202
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2438..2456
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2511..2529
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 45..63
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1662..1678
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1703..1719
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2243..2260
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2282..2299
                  LoboUnitTest/src/test/java/org/loboevolution/css/StyleMediaTest.java on lines 59..77
                  LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 219..236
                  LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 303..321
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 98..115
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 117..134
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 136..153
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 155..172
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 174..191
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 265..282
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 312..329
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 703..721
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 335..353
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 376..394
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 600..618
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 795..814
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1538..1555
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1819..1837
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1951..1968
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2048..2065
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2200..2218
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2244..2262
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2264..2282
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2284..2302
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2304..2322
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2324..2342
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2344..2362
                  LoboUnitTest/src/test/java/org/loboevolution/dom/EventNodeTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 41..59
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 509..526
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 96..113
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 261..278
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 844..861
                  LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 243..260
                  LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 286..302
                  LoboUnitTest/src/test/java/org/loboevolution/event/MessageEventTest.java on lines 99..116
                  LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 206..222
                  LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 98..114
                  LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 116..132
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAllCollectionTest.java on lines 434..450
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 302..320
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 76..94
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 315..332
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 616..632
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 854..871
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1337..1355
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1638..1655
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1877..1893
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2158..2175
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2197..2214
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 61..78
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 211..229
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 231..249
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 545..562
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 877..894
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 838..853
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1469..1485
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1487..1503
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1976..1992
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2098..2114
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2169..2185
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2391..2408
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2451..2469
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2678..2695
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2938..2954
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3166..3183
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3522..3537
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3539..3554
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3795..3812
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 501..518
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 42..60
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 96..113
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 285..303
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 305..323
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 325..343
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElement2Test.java on lines 41..58
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 227..245
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 604..622
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 648..666
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 989..1007
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1009..1027
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1216..1234
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1912..1931
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMediaElementTest.java on lines 125..142
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 68..86
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLObjectElement2Test.java on lines 60..77
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 363..379
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 422..440
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 445..463
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 699..717
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1502..1520
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2126..2144
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 224..242
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 297..315
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 767..784
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 41..58
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 60..77
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 80..97

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 61.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 3 locations. Consider refactoring.
                  Open

                      private void doTestQuerySelectorBadSelector(final String selector) {
                          final String html = "<html><body><div id='it'></div><script>\n"
                                  + "try {\n"
                                  + "  document.getElementById('it').querySelector('" + selector + "');\n"
                                  + "  alert('working " + selector + "');\n"
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1150..1159
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1118..1127

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 54.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 3 locations. Consider refactoring.
                  Open

                      private void doTestQuerySelectorAllBadSelector(final String selector) {
                          final String html = "<html><body><div id='it'></div><script>\n"
                                  + "try {\n"
                                  + "  document.getElementById('it').querySelectorAll('" + selector + "');\n"
                                  + "  alert('working: " + selector + "');\n"
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1150..1159
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1137..1146

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 54.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 49 locations. Consider refactoring.
                  Open

                      @Test
                      @Alerts({"true", "true"})
                      public void offsetWidthCalculatedBasedOnPage() {
                          final String html
                                  = "<html><body>\n"
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 475..489
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 525..537
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 95..109
                  LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 112..126
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1071..1083
                  LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2087..2100
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 302..315
                  LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 396..410
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 687..701
                  LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1839..1851
                  LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 218..231
                  LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 172..187
                  LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 208..222
                  LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 393..406
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 262..275
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 290..303
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 533..547
                  LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 703..718
                  LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 193..208
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBRElementTest.java on lines 95..109
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 226..239
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 293..306
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 48..62
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 265..278
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 301..313
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 649..662
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1108..1121
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1357..1370
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1985..1998
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2230..2243
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 163..176
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 619..633
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1023..1037
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 73..86
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 143..157
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 159..173
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 125..139
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 141..155
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 290..304
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1180..1193
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 510..524
                  LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 526..540
                  LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 93..106
                  LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 108..121
                  LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 123..136
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 114..126
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 196..208
                  LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 245..257

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 45.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  There are no issues that match your filters.

                  Category
                  Status