Fix EOL CRLF characters
diff --git a/samoa-api/src/main/java/com/yahoo/labs/samoa/moa/classifiers/core/attributeclassobservers/BinaryTreeNumericAttributeClassObserverRegression.java b/samoa-api/src/main/java/com/yahoo/labs/samoa/moa/classifiers/core/attributeclassobservers/BinaryTreeNumericAttributeClassObserverRegression.java
index 89aeada..2f4cbed 100644
--- a/samoa-api/src/main/java/com/yahoo/labs/samoa/moa/classifiers/core/attributeclassobservers/BinaryTreeNumericAttributeClassObserverRegression.java
+++ b/samoa-api/src/main/java/com/yahoo/labs/samoa/moa/classifiers/core/attributeclassobservers/BinaryTreeNumericAttributeClassObserverRegression.java
@@ -1,148 +1,148 @@
-package com.yahoo.labs.samoa.moa.classifiers.core.attributeclassobservers;

-

-/*

- * #%L

- * SAMOA

- * %%

- *    Copyright (C) 2013 University of Porto, Portugal

- * %%

- * Licensed under the Apache License, Version 2.0 (the "License");

- * you may not use this file except in compliance with the License.

- * You may obtain a copy of the License at

- * 

- *      http://www.apache.org/licenses/LICENSE-2.0

- * 

- * Unless required by applicable law or agreed to in writing, software

- * distributed under the License is distributed on an "AS IS" BASIS,

- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

- * See the License for the specific language governing permissions and

- * limitations under the License.

- * #L%

- */

-

-import java.io.Serializable;

-import com.yahoo.labs.samoa.moa.classifiers.core.AttributeSplitSuggestion;

-import com.yahoo.labs.samoa.moa.classifiers.core.splitcriteria.SplitCriterion;

-import com.yahoo.labs.samoa.moa.core.ObjectRepository;

-import com.yahoo.labs.samoa.moa.options.AbstractOptionHandler;

-import com.yahoo.labs.samoa.moa.tasks.TaskMonitor;

-

-/**

- * Class for observing the class data distribution for a numeric attribute using a binary tree. This observer monitors

- * the class distribution of a given attribute.

- * 

- * <p>

- * Learning Adaptive Model Rules from High-Speed Data Streams, ECML 2013, E. Almeida, C. Ferreira, P. Kosina and J.

- * Gama;

- * </p>

- * 

- * @author E. Almeida, J. Gama

- * @version $Revision: 2$

- */

-public class BinaryTreeNumericAttributeClassObserverRegression extends AbstractOptionHandler

-    implements NumericAttributeClassObserver {

-

-  public static final long serialVersionUID = 1L;

-

-  public class Node implements Serializable {

-

-    private static final long serialVersionUID = 1L;

-

-    public double cut_point;

-

-    public double[] lessThan; // This array maintains statistics for the instance reaching the node with attribute values less than or iqual to the cutpoint.

-

-    public double[] greaterThan; // This array maintains statistics for the instance reaching the node with attribute values greater than to the cutpoint.

-

-    public Node left;

-

-    public Node right;

-

-    public Node(double val, double target) {

-      this.cut_point = val;

-      this.lessThan = new double[3];

-      this.greaterThan = new double[3];

-      this.lessThan[0] = target; // The sum of their target attribute values.

-      this.lessThan[1] = target * target; // The sum of the squared target attribute values.

-      this.lessThan[2] = 1.0; // A counter of the number of instances that have reached the node.

-      this.greaterThan[0] = 0.0;

-      this.greaterThan[1] = 0.0;

-      this.greaterThan[2] = 0.0;

-    }

-

-    public void insertValue(double val, double target) {

-      if (val == this.cut_point) {

-        this.lessThan[0] = this.lessThan[0] + target;

-        this.lessThan[1] = this.lessThan[1] + (target * target);

-        this.lessThan[2] = this.lessThan[2] + 1;

-      } else if (val <= this.cut_point) {

-        this.lessThan[0] = this.lessThan[0] + target;

-        this.lessThan[1] = this.lessThan[1] + (target * target);

-        this.lessThan[2] = this.lessThan[2] + 1;

-        if (this.left == null) {

-          this.left = new Node(val, target);

-        } else {

-          this.left.insertValue(val, target);

-        }

-      } else {

-        this.greaterThan[0] = this.greaterThan[0] + target;

-        this.greaterThan[1] = this.greaterThan[1] + (target * target);

-        this.greaterThan[2] = this.greaterThan[2] + 1;

-        if (this.right == null) {

-

-          this.right = new Node(val, target);

-        } else {

-          this.right.insertValue(val, target);

-        }

-      }

-    }

-  }

-

-  public Node root1 = null;

-

-  public void observeAttributeTarget(double attVal, double target) {

-    if (!Double.isNaN(attVal)) {

-      if (this.root1 == null) {

-        this.root1 = new Node(attVal, target);

-      } else {

-        this.root1.insertValue(attVal, target);

-      }

-    }

-  }

-

-  @Override

-  public void observeAttributeClass(double attVal, int classVal, double weight) {

-

-  }

-

-  @Override

-  public double probabilityOfAttributeValueGivenClass(double attVal,

-      int classVal) {

-    return 0.0;

-  }

-

-  @Override

-  public AttributeSplitSuggestion getBestEvaluatedSplitSuggestion(

-      SplitCriterion criterion, double[] preSplitDist, int attIndex,

-      boolean binaryOnly) {

-    return searchForBestSplitOption(this.root1, null, null, null, null, false,

-        criterion, preSplitDist, attIndex);

-  }

-

-  protected AttributeSplitSuggestion searchForBestSplitOption(

-      Node currentNode, AttributeSplitSuggestion currentBestOption,

-      double[] actualParentLeft,

-      double[] parentLeft, double[] parentRight, boolean leftChild,

-      SplitCriterion criterion, double[] preSplitDist, int attIndex) {

-

-    return currentBestOption;

-  }

-

-  @Override

-  public void getDescription(StringBuilder sb, int indent) {

-  }

-

-  @Override

-  protected void prepareForUseImpl(TaskMonitor monitor, ObjectRepository repository) {

-  }

-}

+package com.yahoo.labs.samoa.moa.classifiers.core.attributeclassobservers;
+
+/*
+ * #%L
+ * SAMOA
+ * %%
+ *    Copyright (C) 2013 University of Porto, Portugal
+ * %%
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * #L%
+ */
+
+import java.io.Serializable;
+import com.yahoo.labs.samoa.moa.classifiers.core.AttributeSplitSuggestion;
+import com.yahoo.labs.samoa.moa.classifiers.core.splitcriteria.SplitCriterion;
+import com.yahoo.labs.samoa.moa.core.ObjectRepository;
+import com.yahoo.labs.samoa.moa.options.AbstractOptionHandler;
+import com.yahoo.labs.samoa.moa.tasks.TaskMonitor;
+
+/**
+ * Class for observing the class data distribution for a numeric attribute using a binary tree. This observer monitors
+ * the class distribution of a given attribute.
+ * 
+ * <p>
+ * Learning Adaptive Model Rules from High-Speed Data Streams, ECML 2013, E. Almeida, C. Ferreira, P. Kosina and J.
+ * Gama;
+ * </p>
+ * 
+ * @author E. Almeida, J. Gama
+ * @version $Revision: 2$
+ */
+public class BinaryTreeNumericAttributeClassObserverRegression extends AbstractOptionHandler
+    implements NumericAttributeClassObserver {
+
+  public static final long serialVersionUID = 1L;
+
+  public class Node implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    public double cut_point;
+
+    public double[] lessThan; // This array maintains statistics for the instance reaching the node with attribute values less than or iqual to the cutpoint.
+
+    public double[] greaterThan; // This array maintains statistics for the instance reaching the node with attribute values greater than to the cutpoint.
+
+    public Node left;
+
+    public Node right;
+
+    public Node(double val, double target) {
+      this.cut_point = val;
+      this.lessThan = new double[3];
+      this.greaterThan = new double[3];
+      this.lessThan[0] = target; // The sum of their target attribute values.
+      this.lessThan[1] = target * target; // The sum of the squared target attribute values.
+      this.lessThan[2] = 1.0; // A counter of the number of instances that have reached the node.
+      this.greaterThan[0] = 0.0;
+      this.greaterThan[1] = 0.0;
+      this.greaterThan[2] = 0.0;
+    }
+
+    public void insertValue(double val, double target) {
+      if (val == this.cut_point) {
+        this.lessThan[0] = this.lessThan[0] + target;
+        this.lessThan[1] = this.lessThan[1] + (target * target);
+        this.lessThan[2] = this.lessThan[2] + 1;
+      } else if (val <= this.cut_point) {
+        this.lessThan[0] = this.lessThan[0] + target;
+        this.lessThan[1] = this.lessThan[1] + (target * target);
+        this.lessThan[2] = this.lessThan[2] + 1;
+        if (this.left == null) {
+          this.left = new Node(val, target);
+        } else {
+          this.left.insertValue(val, target);
+        }
+      } else {
+        this.greaterThan[0] = this.greaterThan[0] + target;
+        this.greaterThan[1] = this.greaterThan[1] + (target * target);
+        this.greaterThan[2] = this.greaterThan[2] + 1;
+        if (this.right == null) {
+
+          this.right = new Node(val, target);
+        } else {
+          this.right.insertValue(val, target);
+        }
+      }
+    }
+  }
+
+  public Node root1 = null;
+
+  public void observeAttributeTarget(double attVal, double target) {
+    if (!Double.isNaN(attVal)) {
+      if (this.root1 == null) {
+        this.root1 = new Node(attVal, target);
+      } else {
+        this.root1.insertValue(attVal, target);
+      }
+    }
+  }
+
+  @Override
+  public void observeAttributeClass(double attVal, int classVal, double weight) {
+
+  }
+
+  @Override
+  public double probabilityOfAttributeValueGivenClass(double attVal,
+      int classVal) {
+    return 0.0;
+  }
+
+  @Override
+  public AttributeSplitSuggestion getBestEvaluatedSplitSuggestion(
+      SplitCriterion criterion, double[] preSplitDist, int attIndex,
+      boolean binaryOnly) {
+    return searchForBestSplitOption(this.root1, null, null, null, null, false,
+        criterion, preSplitDist, attIndex);
+  }
+
+  protected AttributeSplitSuggestion searchForBestSplitOption(
+      Node currentNode, AttributeSplitSuggestion currentBestOption,
+      double[] actualParentLeft,
+      double[] parentLeft, double[] parentRight, boolean leftChild,
+      SplitCriterion criterion, double[] preSplitDist, int attIndex) {
+
+    return currentBestOption;
+  }
+
+  @Override
+  public void getDescription(StringBuilder sb, int indent) {
+  }
+
+  @Override
+  protected void prepareForUseImpl(TaskMonitor monitor, ObjectRepository repository) {
+  }
+}