From de542b8196c06644620d8c5e5a52a1ec11052d5e Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com>
Date: Mon, 10 Nov 2014 07:39:49 -0500
Subject: [PATCH] Fixed tons of various technical debt.

Change-Id: I4a5a0cd8040cf352a9a4768abbe8bc06e8376978
---
 .../graph/AbstractSignalMultiplyingEdge.java  | 24 +++++++++-
 .../grail/graph/GrailGraphFactory.java        | 21 ++++++++-
 .../com/syncleus/grail/graph/GrailModule.java | 20 ++++++++-
 .../java/com/syncleus/grail/graph/Node.java   | 18 ++++++++
 .../grail/graph/SignalMultiplyingEdge.java    | 20 ++++++++-
 .../com/syncleus/grail/graph/SignalNode.java  | 18 ++++++++
 .../com/syncleus/grail/graph/Signaler.java    | 19 +++++++-
 .../syncleus/grail/graph/TypedAdjacency.java  | 18 ++++++++
 .../graph/TypedAdjacencyMethodHandler.java    | 30 ++++++++++---
 .../syncleus/grail/graph/TypedIncidence.java  | 18 ++++++++
 .../graph/TypedIncidenceMethodHandler.java    | 44 +++++++++++++------
 .../com/syncleus/grail/graph/Weighted.java    | 22 +++++++++-
 .../graph/action/AbstractActionTrigger.java   | 20 ++++++++-
 .../action/AbstractPrioritySerialTrigger.java | 22 +++++++++-
 .../syncleus/grail/graph/action/Action.java   | 18 ++++++++
 .../grail/graph/action/ActionTrigger.java     | 18 ++++++++
 .../grail/graph/action/ActionTriggerEdge.java | 18 ++++++++
 .../graph/action/PrioritySerialTrigger.java   | 18 ++++++++
 .../action/PrioritySerialTriggerEdge.java     | 18 ++++++++
 .../neural/AbstractActivationNeuron.java      | 18 ++++++++
 .../grail/neural/ActivationNeuron.java        | 18 ++++++++
 .../neural/activation/ActivationFunction.java | 18 ++++++++
 .../HyperbolicTangentActivationFunction.java  | 21 ++++++++-
 .../activation/SineActivationFunction.java    | 18 ++++++++
 .../backprop/AbstractBackpropNeuron.java      | 21 ++++++++-
 .../grail/neural/backprop/BackpropNeuron.java | 18 ++++++++
 .../neural/backprop/BackpropSynapse.java      | 19 +++++++-
 .../syncleus/grail/neural/package-info.java   | 20 ++++++++-
 .../java/com/syncleus/grail/package-info.java | 20 ++++++++-
 .../grail/graph/BlankGraphFactory.java        | 18 ++++++++
 .../syncleus/grail/graph/ExceptionGod.java    | 18 ++++++++
 .../com/syncleus/grail/graph/FatherEdge.java  | 18 ++++++++
 .../java/com/syncleus/grail/graph/God.java    | 18 ++++++++
 .../com/syncleus/grail/graph/GodExtended.java | 18 ++++++++
 .../com/syncleus/grail/graph/Location.java    | 18 ++++++++
 .../grail/graph/LocationExtended.java         | 18 ++++++++
 .../graph/MockTransactionalTinkerGraph.java   | 18 ++++++++
 .../graph/titangraph/BlueprintsTest.java      | 18 ++++++++
 .../grail/graph/titangraph/FramesTest.java    | 18 ++++++++
 .../grail/graph/titangraph/GremlinTest.java   | 18 ++++++++
 .../grail/graph/titangraph/TitanGods.java     | 18 ++++++++
 .../titangraph/TypedAdjacencyHandlerTest.java | 18 ++++++++
 .../titangraph/TypedIncidenceHandlerTest.java | 18 ++++++++
 .../backprop/ActionTriggerXor3InputTest.java  | 18 ++++++++
 .../grail/neural/backprop/SimpleOrTest.java   | 18 ++++++++
 .../neural/backprop/SimpleXor2InputTest.java  | 18 ++++++++
 .../neural/backprop/SimpleXor3InputTest.java  | 18 ++++++++
 47 files changed, 883 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/syncleus/grail/graph/AbstractSignalMultiplyingEdge.java b/src/main/java/com/syncleus/grail/graph/AbstractSignalMultiplyingEdge.java
index 6d075c5..8e27cf4 100644
--- a/src/main/java/com/syncleus/grail/graph/AbstractSignalMultiplyingEdge.java
+++ b/src/main/java/com/syncleus/grail/graph/AbstractSignalMultiplyingEdge.java
@@ -1,16 +1,36 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
-import com.tinkerpop.frames.EdgeFrame;
 import com.tinkerpop.frames.modules.javahandler.*;
 
 import java.util.Random;
 
 public abstract class AbstractSignalMultiplyingEdge implements SignalMultiplyingEdge {
     private static final Random RANDOM = new Random();
+    private static final double RANGE = 2.0;
+    private static final double OFFSET = -1.0;
+    private static final double SCALE = 1.0 / 10.0;
 
     @Initializer
     public void init() {
-        this.setWeight(((RANDOM.nextDouble() * 2.0) - 1.0) / 10.0);
+        this.setWeight(((AbstractSignalMultiplyingEdge.RANDOM.nextDouble() * AbstractSignalMultiplyingEdge.RANGE) + AbstractSignalMultiplyingEdge.OFFSET) * AbstractSignalMultiplyingEdge.SCALE);
     }
 
     @Override
diff --git a/src/main/java/com/syncleus/grail/graph/GrailGraphFactory.java b/src/main/java/com/syncleus/grail/graph/GrailGraphFactory.java
index 6fd3ead..20bcfc7 100644
--- a/src/main/java/com/syncleus/grail/graph/GrailGraphFactory.java
+++ b/src/main/java/com/syncleus/grail/graph/GrailGraphFactory.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.syncleus.grail.graph.action.*;
@@ -52,8 +70,7 @@ public class GrailGraphFactory extends FramedGraphFactory {
     }
 
     private static JavaHandlerModule constructHandlerModule() {
-        final JavaHandlerModule module = new JavaHandlerModule();
-        return module;
+        return new JavaHandlerModule();
     }
 
     private static Module[] combineModules(final Collection<? extends Module> modules, Module... additionalModules) {
diff --git a/src/main/java/com/syncleus/grail/graph/GrailModule.java b/src/main/java/com/syncleus/grail/graph/GrailModule.java
index ad47e6c..68319f7 100644
--- a/src/main/java/com/syncleus/grail/graph/GrailModule.java
+++ b/src/main/java/com/syncleus/grail/graph/GrailModule.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.blueprints.Graph;
@@ -42,7 +60,7 @@ public class GrailModule implements Module {
     }
 
     private static void constructTypedHierarchyRecursive(final Map<String, Set<String>> hierarchy, final Class<?>[] parents, final Set<String> childrenSeen) {
-        for( Class<?> parent : parents ) {
+        for( final Class<?> parent : parents ) {
             final TypeValue typeValue = GrailModule.determineTypeValue(parent);
 
             //this parent has a type value, so add all the children to it
diff --git a/src/main/java/com/syncleus/grail/graph/Node.java b/src/main/java/com/syncleus/grail/graph/Node.java
index 3d79e2c..6ad2bfc 100644
--- a/src/main/java/com/syncleus/grail/graph/Node.java
+++ b/src/main/java/com/syncleus/grail/graph/Node.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.frames.VertexFrame;
diff --git a/src/main/java/com/syncleus/grail/graph/SignalMultiplyingEdge.java b/src/main/java/com/syncleus/grail/graph/SignalMultiplyingEdge.java
index f195982..ee9d501 100644
--- a/src/main/java/com/syncleus/grail/graph/SignalMultiplyingEdge.java
+++ b/src/main/java/com/syncleus/grail/graph/SignalMultiplyingEdge.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.frames.*;
@@ -13,4 +31,4 @@ public interface SignalMultiplyingEdge extends Weighted, Signaler, EdgeFrame {
 
     @JavaHandler
     void propagate();
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/syncleus/grail/graph/SignalNode.java b/src/main/java/com/syncleus/grail/graph/SignalNode.java
index 328c62e..6b5ec40 100644
--- a/src/main/java/com/syncleus/grail/graph/SignalNode.java
+++ b/src/main/java/com/syncleus/grail/graph/SignalNode.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 public interface SignalNode extends Signaler, Node {
diff --git a/src/main/java/com/syncleus/grail/graph/Signaler.java b/src/main/java/com/syncleus/grail/graph/Signaler.java
index d904550..0e13282 100644
--- a/src/main/java/com/syncleus/grail/graph/Signaler.java
+++ b/src/main/java/com/syncleus/grail/graph/Signaler.java
@@ -1,7 +1,24 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.frames.Property;
-import com.tinkerpop.frames.modules.typedgraph.TypeField;
 
 public interface Signaler {
     @Property("signal")
diff --git a/src/main/java/com/syncleus/grail/graph/TypedAdjacency.java b/src/main/java/com/syncleus/grail/graph/TypedAdjacency.java
index 4af11fb..35331ba 100644
--- a/src/main/java/com/syncleus/grail/graph/TypedAdjacency.java
+++ b/src/main/java/com/syncleus/grail/graph/TypedAdjacency.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.blueprints.Direction;
diff --git a/src/main/java/com/syncleus/grail/graph/TypedAdjacencyMethodHandler.java b/src/main/java/com/syncleus/grail/graph/TypedAdjacencyMethodHandler.java
index f232c1a..a2ebf81 100644
--- a/src/main/java/com/syncleus/grail/graph/TypedAdjacencyMethodHandler.java
+++ b/src/main/java/com/syncleus/grail/graph/TypedAdjacencyMethodHandler.java
@@ -1,8 +1,25 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.blueprints.*;
 import com.tinkerpop.frames.*;
-import com.tinkerpop.frames.annotations.AdjacencyAnnotationHandler;
 import com.tinkerpop.frames.modules.MethodHandler;
 import com.tinkerpop.frames.modules.typedgraph.*;
 import com.tinkerpop.gremlin.Tokens;
@@ -74,7 +91,7 @@ public class TypedAdjacencyMethodHandler implements MethodHandler<TypedAdjacency
     private Iterable getNodes(final Class type, final Direction direction, final String label, final FramedGraph<?> framedGraph, final Vertex vertex) {
         final TypeValue typeValue = TypedAdjacencyMethodHandler.determineTypeValue(type);
         final TypeField typeField = TypedAdjacencyMethodHandler.determineTypeField(type);
-        Set<String> allAllowedValues = this.hierarchy.get(typeValue.value());
+        final Set<String> allAllowedValues = this.hierarchy.get(typeValue.value());
         switch(direction) {
         case BOTH:
             return framedGraph.frameVertices((Iterable<Vertex>) new GremlinPipeline<Vertex, Vertex>(vertex).both(label).has(typeField.value(), Tokens.T.in, allAllowedValues), type);
@@ -141,14 +158,15 @@ public class TypedAdjacencyMethodHandler implements MethodHandler<TypedAdjacency
     private static TypeField determineTypeField(final Class<?> type) {
         TypeField typeField = type.getAnnotation(TypeField.class);
         if( typeField == null ) {
-            Class<?>[] parents = type.getInterfaces();
+            final Class<?>[] parents = type.getInterfaces();
             for( final Class<?> parent : parents ) {
                 typeField = TypedAdjacencyMethodHandler.determineTypeFieldRecursive(parent);
                 if( typeField != null )
                     return typeField;
             }
-            if( typeField == null )
-                throw new IllegalArgumentException("The specified type does not have a parent with a typeField annotation.");
+
+            //we know typeField must still be null since we didnt return a value yet
+            throw new IllegalArgumentException("The specified type does not have a parent with a typeField annotation.");
         }
 
         return typeField;
@@ -157,7 +175,7 @@ public class TypedAdjacencyMethodHandler implements MethodHandler<TypedAdjacency
     private static TypeField determineTypeFieldRecursive(final Class<?> type) {
         TypeField typeField = type.getAnnotation(TypeField.class);
         if( typeField == null ) {
-            Class<?>[] parents = type.getInterfaces();
+            final Class<?>[] parents = type.getInterfaces();
             for( final Class<?> parent : parents ) {
                 typeField = TypedAdjacencyMethodHandler.determineTypeFieldRecursive(parent);
                 if( typeField != null )
diff --git a/src/main/java/com/syncleus/grail/graph/TypedIncidence.java b/src/main/java/com/syncleus/grail/graph/TypedIncidence.java
index a589dbd..ffe9e64 100644
--- a/src/main/java/com/syncleus/grail/graph/TypedIncidence.java
+++ b/src/main/java/com/syncleus/grail/graph/TypedIncidence.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.blueprints.Direction;
diff --git a/src/main/java/com/syncleus/grail/graph/TypedIncidenceMethodHandler.java b/src/main/java/com/syncleus/grail/graph/TypedIncidenceMethodHandler.java
index 6d40c22..491f241 100644
--- a/src/main/java/com/syncleus/grail/graph/TypedIncidenceMethodHandler.java
+++ b/src/main/java/com/syncleus/grail/graph/TypedIncidenceMethodHandler.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.blueprints.*;
@@ -5,8 +23,6 @@ import com.tinkerpop.frames.*;
 import com.tinkerpop.frames.modules.MethodHandler;
 import com.tinkerpop.frames.modules.typedgraph.*;
 import com.tinkerpop.gremlin.java.GremlinPipeline;
-
-import java.lang.annotation.Annotation;
 import java.lang.reflect.*;
 import java.util.*;
 
@@ -28,7 +44,6 @@ public class TypedIncidenceMethodHandler implements MethodHandler<TypedIncidence
 
         if( ! (element instanceof Vertex) )
             throw new IllegalStateException("element is not a type of Vertex " + element.getClass().getName());
-        final Vertex vertex = (Vertex) element;
 
         if(annotation.label() == null)
             throw new IllegalStateException("method " + method.getName() + " label must be specified on @TypedIncidence annotation");
@@ -42,6 +57,8 @@ public class TypedIncidenceMethodHandler implements MethodHandler<TypedIncidence
 
                 final Class type = (Class) arguments[0];
 
+                final Vertex vertex = (Vertex) element;
+
                 if( method.getReturnType().isAssignableFrom(Iterable.class))
                     return TypedIncidenceMethodHandler.getEdges(type, annotation.direction(), annotation.label(), framedGraph, vertex);
 
@@ -60,12 +77,12 @@ public class TypedIncidenceMethodHandler implements MethodHandler<TypedIncidence
         final TypeField typeField = TypedIncidenceMethodHandler.determineTypeField(type);
         switch(direction) {
         case BOTH:
-            return framedGraph.frameEdges((Iterable<com.tinkerpop.blueprints.Edge>) new GremlinPipeline<Vertex, Vertex>(vertex).bothE(label).has(typeField.value(), typeValue.value()), type);
+            return framedGraph.frameEdges((Iterable<Edge>) new GremlinPipeline<Vertex, Vertex>(vertex).bothE(label).has(typeField.value(), typeValue.value()), type);
         case IN:
-            return framedGraph.frameEdges((Iterable<com.tinkerpop.blueprints.Edge>) new GremlinPipeline<Vertex, Vertex>(vertex).inE(label).has(typeField.value(), typeValue.value()), type);
+            return framedGraph.frameEdges((Iterable<Edge>) new GremlinPipeline<Vertex, Vertex>(vertex).inE(label).has(typeField.value(), typeValue.value()), type);
         //Assume out direction
         default:
-            return framedGraph.frameEdges((Iterable<com.tinkerpop.blueprints.Edge>) new GremlinPipeline<Vertex, Vertex>(vertex).outE(label).has(typeField.value(), typeValue.value()), type);
+            return framedGraph.frameEdges((Iterable<Edge>) new GremlinPipeline<Vertex, Vertex>(vertex).outE(label).has(typeField.value(), typeValue.value()), type);
         }
 
     }
@@ -75,12 +92,12 @@ public class TypedIncidenceMethodHandler implements MethodHandler<TypedIncidence
         final TypeField typeField = TypedIncidenceMethodHandler.determineTypeField(type);
         switch(direction) {
         case BOTH:
-            return framedGraph.frame((com.tinkerpop.blueprints.Edge) new GremlinPipeline<Vertex, Vertex>(vertex).bothE(label).has(typeField.value(), typeValue.value()).next(), type);
+            return framedGraph.frame((Edge) new GremlinPipeline<Vertex, Vertex>(vertex).bothE(label).has(typeField.value(), typeValue.value()).next(), type);
         case IN:
-            return framedGraph.frame((com.tinkerpop.blueprints.Edge) new GremlinPipeline<Vertex, Vertex>(vertex).inE(label).has(typeField.value(), typeValue.value()).next(), type);
+            return framedGraph.frame((Edge) new GremlinPipeline<Vertex, Vertex>(vertex).inE(label).has(typeField.value(), typeValue.value()).next(), type);
         //Assume out direction
         default:
-            return framedGraph.frame((com.tinkerpop.blueprints.Edge) new GremlinPipeline<Vertex, Vertex>(vertex).outE(label).has(typeField.value(), typeValue.value()).next(), type);
+            return framedGraph.frame((Edge) new GremlinPipeline<Vertex, Vertex>(vertex).outE(label).has(typeField.value(), typeValue.value()).next(), type);
         }
     }
 
@@ -99,14 +116,15 @@ public class TypedIncidenceMethodHandler implements MethodHandler<TypedIncidence
     private static TypeField determineTypeField(final Class<?> type) {
         TypeField typeField = type.getAnnotation(TypeField.class);
         if( typeField == null ) {
-            Class<?>[] parents = type.getInterfaces();
+            final Class<?>[] parents = type.getInterfaces();
             for( final Class<?> parent : parents ) {
                 typeField = TypedIncidenceMethodHandler.determineTypeFieldRecursive(parent);
                 if( typeField != null )
                     return typeField;
             }
-            if( typeField == null )
-                throw new IllegalArgumentException("The specified type does not have a parent with a typeField annotation.");
+
+            //typeField is known to still be null.
+            throw new IllegalArgumentException("The specified type does not have a parent with a typeField annotation.");
         }
 
         return typeField;
@@ -115,7 +133,7 @@ public class TypedIncidenceMethodHandler implements MethodHandler<TypedIncidence
     private static TypeField determineTypeFieldRecursive(final Class<?> type) {
         TypeField typeField = type.getAnnotation(TypeField.class);
         if( typeField == null ) {
-            Class<?>[] parents = type.getInterfaces();
+            final Class<?>[] parents = type.getInterfaces();
             for( final Class<?> parent : parents ) {
                 typeField = TypedIncidenceMethodHandler.determineTypeFieldRecursive(parent);
                 if( typeField != null )
diff --git a/src/main/java/com/syncleus/grail/graph/Weighted.java b/src/main/java/com/syncleus/grail/graph/Weighted.java
index 44cf3a1..7216652 100644
--- a/src/main/java/com/syncleus/grail/graph/Weighted.java
+++ b/src/main/java/com/syncleus/grail/graph/Weighted.java
@@ -1,10 +1,28 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.frames.Property;
 
 public interface Weighted {
     @Property("weight")
-    public Double getWeight();
+    Double getWeight();
     @Property("weight")
-    public void setWeight(double weight);
+    void setWeight(double weight);
 }
diff --git a/src/main/java/com/syncleus/grail/graph/action/AbstractActionTrigger.java b/src/main/java/com/syncleus/grail/graph/action/AbstractActionTrigger.java
index 0e705af..16e3f35 100644
--- a/src/main/java/com/syncleus/grail/graph/action/AbstractActionTrigger.java
+++ b/src/main/java/com/syncleus/grail/graph/action/AbstractActionTrigger.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.action;
 
 import java.lang.reflect.Method;
@@ -13,7 +31,7 @@ public abstract class AbstractActionTrigger implements ActionTrigger {
         actionMethods = new HashMap<String, Set<Method>>();
         AbstractActionTrigger.ACTION_METHOD_CACHE.put(parentClass, actionMethods);
 
-        for(Class<?> triggerClass : parentClass.getInterfaces() ) {
+        for(final Class<?> triggerClass : parentClass.getInterfaces() ) {
             final Method[] triggerMethods = triggerClass.getMethods();
             for (final Method triggerMethod : triggerMethods) {
                 final Action actionAnnotation = triggerMethod.getDeclaredAnnotation(Action.class);
diff --git a/src/main/java/com/syncleus/grail/graph/action/AbstractPrioritySerialTrigger.java b/src/main/java/com/syncleus/grail/graph/action/AbstractPrioritySerialTrigger.java
index e909eec..15bbe8e 100644
--- a/src/main/java/com/syncleus/grail/graph/action/AbstractPrioritySerialTrigger.java
+++ b/src/main/java/com/syncleus/grail/graph/action/AbstractPrioritySerialTrigger.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.action;
 
 import com.syncleus.grail.graph.Node;
@@ -20,10 +38,10 @@ public abstract class AbstractPrioritySerialTrigger extends AbstractActionTrigge
 
             final Class<?> parentClass = triggerObject.getClass();
 
-            Map<String, Set<Method>> actionMethods = AbstractPrioritySerialTrigger.populateCache(parentClass);
+            final Map<String, Set<Method>> actionMethods = AbstractPrioritySerialTrigger.populateCache(parentClass);
 
             final Set<Method> triggerMethods = actionMethods.get(actionName);
-            if( triggerMethods == null || triggerMethods.size() <= 0 )
+            if( triggerMethods == null || triggerMethods.isEmpty() )
                 throw new IllegalStateException("A ActionTrigger was configured to trigger an action which does not exist on the current object");
 
             for( final Method triggerMethod : triggerMethods ) {
diff --git a/src/main/java/com/syncleus/grail/graph/action/Action.java b/src/main/java/com/syncleus/grail/graph/action/Action.java
index 580ce74..ec91a61 100644
--- a/src/main/java/com/syncleus/grail/graph/action/Action.java
+++ b/src/main/java/com/syncleus/grail/graph/action/Action.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.action;
 
 import java.lang.annotation.*;
diff --git a/src/main/java/com/syncleus/grail/graph/action/ActionTrigger.java b/src/main/java/com/syncleus/grail/graph/action/ActionTrigger.java
index d186bd0..5e74177 100644
--- a/src/main/java/com/syncleus/grail/graph/action/ActionTrigger.java
+++ b/src/main/java/com/syncleus/grail/graph/action/ActionTrigger.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.action;
 
 import com.syncleus.grail.graph.*;
diff --git a/src/main/java/com/syncleus/grail/graph/action/ActionTriggerEdge.java b/src/main/java/com/syncleus/grail/graph/action/ActionTriggerEdge.java
index 4c8e76a..fd6e8e7 100644
--- a/src/main/java/com/syncleus/grail/graph/action/ActionTriggerEdge.java
+++ b/src/main/java/com/syncleus/grail/graph/action/ActionTriggerEdge.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.action;
 
 import com.syncleus.grail.graph.Node;
diff --git a/src/main/java/com/syncleus/grail/graph/action/PrioritySerialTrigger.java b/src/main/java/com/syncleus/grail/graph/action/PrioritySerialTrigger.java
index 3cd05b5..b05e704 100644
--- a/src/main/java/com/syncleus/grail/graph/action/PrioritySerialTrigger.java
+++ b/src/main/java/com/syncleus/grail/graph/action/PrioritySerialTrigger.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.action;
 
 import com.tinkerpop.frames.annotations.gremlin.GremlinGroovy;
diff --git a/src/main/java/com/syncleus/grail/graph/action/PrioritySerialTriggerEdge.java b/src/main/java/com/syncleus/grail/graph/action/PrioritySerialTriggerEdge.java
index cc02801..06f5790 100644
--- a/src/main/java/com/syncleus/grail/graph/action/PrioritySerialTriggerEdge.java
+++ b/src/main/java/com/syncleus/grail/graph/action/PrioritySerialTriggerEdge.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.action;
 
 import com.syncleus.grail.graph.Node;
diff --git a/src/main/java/com/syncleus/grail/neural/AbstractActivationNeuron.java b/src/main/java/com/syncleus/grail/neural/AbstractActivationNeuron.java
index 99c1e70..54d97e8 100644
--- a/src/main/java/com/syncleus/grail/neural/AbstractActivationNeuron.java
+++ b/src/main/java/com/syncleus/grail/neural/AbstractActivationNeuron.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural;
 
 import com.syncleus.grail.neural.activation.*;
diff --git a/src/main/java/com/syncleus/grail/neural/ActivationNeuron.java b/src/main/java/com/syncleus/grail/neural/ActivationNeuron.java
index d557278..89b30f5 100644
--- a/src/main/java/com/syncleus/grail/neural/ActivationNeuron.java
+++ b/src/main/java/com/syncleus/grail/neural/ActivationNeuron.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural;
 
 import com.syncleus.grail.neural.activation.ActivationFunction;
diff --git a/src/main/java/com/syncleus/grail/neural/activation/ActivationFunction.java b/src/main/java/com/syncleus/grail/neural/activation/ActivationFunction.java
index 7d19a94..960d66c 100644
--- a/src/main/java/com/syncleus/grail/neural/activation/ActivationFunction.java
+++ b/src/main/java/com/syncleus/grail/neural/activation/ActivationFunction.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural.activation;
 
 public interface ActivationFunction {
diff --git a/src/main/java/com/syncleus/grail/neural/activation/HyperbolicTangentActivationFunction.java b/src/main/java/com/syncleus/grail/neural/activation/HyperbolicTangentActivationFunction.java
index da4a426..0e9693d 100644
--- a/src/main/java/com/syncleus/grail/neural/activation/HyperbolicTangentActivationFunction.java
+++ b/src/main/java/com/syncleus/grail/neural/activation/HyperbolicTangentActivationFunction.java
@@ -1,8 +1,27 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural.activation;
 
 public class HyperbolicTangentActivationFunction implements ActivationFunction {
     private static final double UPPER_LIMIT = 1.0;
     private static final double LOWER_LIMIT = -1.0;
+    private static final double DERIVATIVE_EXP = 2.0;
 
     /**
      * The hyperbolic tangent activation function.
@@ -27,7 +46,7 @@ public class HyperbolicTangentActivationFunction implements ActivationFunction {
      */
     @Override
     public double activateDerivative(final double activity) {
-        return 1.0 - Math.pow(this.activate(activity), 2.0);
+        return 1.0 - Math.pow(this.activate(activity), HyperbolicTangentActivationFunction.DERIVATIVE_EXP);
     }
 
     @Override
diff --git a/src/main/java/com/syncleus/grail/neural/activation/SineActivationFunction.java b/src/main/java/com/syncleus/grail/neural/activation/SineActivationFunction.java
index 7e8d383..5706b1f 100644
--- a/src/main/java/com/syncleus/grail/neural/activation/SineActivationFunction.java
+++ b/src/main/java/com/syncleus/grail/neural/activation/SineActivationFunction.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural.activation;
 
 public class SineActivationFunction implements ActivationFunction {
diff --git a/src/main/java/com/syncleus/grail/neural/backprop/AbstractBackpropNeuron.java b/src/main/java/com/syncleus/grail/neural/backprop/AbstractBackpropNeuron.java
index 0a8d969..85b7b64 100644
--- a/src/main/java/com/syncleus/grail/neural/backprop/AbstractBackpropNeuron.java
+++ b/src/main/java/com/syncleus/grail/neural/backprop/AbstractBackpropNeuron.java
@@ -1,12 +1,31 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural.backprop;
 
 import com.syncleus.grail.neural.*;
 import com.tinkerpop.frames.modules.javahandler.Initializer;
 
 public abstract class AbstractBackpropNeuron extends AbstractActivationNeuron implements BackpropNeuron {
+    private static final double DEFAULT_LEARNING_RATE = 0.0175;
     @Initializer
     public void init() {
-        this.setLearningRate(0.0175);
+        this.setLearningRate(AbstractBackpropNeuron.DEFAULT_LEARNING_RATE);
         this.setDeltaTrain(0.0);
     }
 
diff --git a/src/main/java/com/syncleus/grail/neural/backprop/BackpropNeuron.java b/src/main/java/com/syncleus/grail/neural/backprop/BackpropNeuron.java
index 0110814..9e48743 100644
--- a/src/main/java/com/syncleus/grail/neural/backprop/BackpropNeuron.java
+++ b/src/main/java/com/syncleus/grail/neural/backprop/BackpropNeuron.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural.backprop;
 
 import com.syncleus.grail.graph.*;
diff --git a/src/main/java/com/syncleus/grail/neural/backprop/BackpropSynapse.java b/src/main/java/com/syncleus/grail/neural/backprop/BackpropSynapse.java
index 74d01e6..dd554f7 100644
--- a/src/main/java/com/syncleus/grail/neural/backprop/BackpropSynapse.java
+++ b/src/main/java/com/syncleus/grail/neural/backprop/BackpropSynapse.java
@@ -1,8 +1,25 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural.backprop;
 
 import com.syncleus.grail.graph.SignalMultiplyingEdge;
 import com.tinkerpop.frames.*;
-import com.tinkerpop.frames.modules.javahandler.JavaHandlerClass;
 import com.tinkerpop.frames.modules.typedgraph.TypeValue;
 
 @TypeValue("BackpropSynapse")
diff --git a/src/main/java/com/syncleus/grail/neural/package-info.java b/src/main/java/com/syncleus/grail/neural/package-info.java
index 03e0a8b..4edf6ab 100644
--- a/src/main/java/com/syncleus/grail/neural/package-info.java
+++ b/src/main/java/com/syncleus/grail/neural/package-info.java
@@ -1 +1,19 @@
-package com.syncleus.grail.neural;
\ No newline at end of file
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
+package com.syncleus.grail.neural;
diff --git a/src/main/java/com/syncleus/grail/package-info.java b/src/main/java/com/syncleus/grail/package-info.java
index 3b68a97..56e5497 100644
--- a/src/main/java/com/syncleus/grail/package-info.java
+++ b/src/main/java/com/syncleus/grail/package-info.java
@@ -1 +1,19 @@
-package com.syncleus.grail;
\ No newline at end of file
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
+package com.syncleus.grail;
diff --git a/src/test/java/com/syncleus/grail/graph/BlankGraphFactory.java b/src/test/java/com/syncleus/grail/graph/BlankGraphFactory.java
index 4f71ebc..b991711 100644
--- a/src/test/java/com/syncleus/grail/graph/BlankGraphFactory.java
+++ b/src/test/java/com/syncleus/grail/graph/BlankGraphFactory.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.thinkaurelius.titan.core.*;
diff --git a/src/test/java/com/syncleus/grail/graph/ExceptionGod.java b/src/test/java/com/syncleus/grail/graph/ExceptionGod.java
index 7d3ad42..1c7fe28 100644
--- a/src/test/java/com/syncleus/grail/graph/ExceptionGod.java
+++ b/src/test/java/com/syncleus/grail/graph/ExceptionGod.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.blueprints.Direction;
diff --git a/src/test/java/com/syncleus/grail/graph/FatherEdge.java b/src/test/java/com/syncleus/grail/graph/FatherEdge.java
index fe71451..04067cb 100644
--- a/src/test/java/com/syncleus/grail/graph/FatherEdge.java
+++ b/src/test/java/com/syncleus/grail/graph/FatherEdge.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.frames.*;
diff --git a/src/test/java/com/syncleus/grail/graph/God.java b/src/test/java/com/syncleus/grail/graph/God.java
index 9c09e84..6c5e4a1 100644
--- a/src/test/java/com/syncleus/grail/graph/God.java
+++ b/src/test/java/com/syncleus/grail/graph/God.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.blueprints.*;
diff --git a/src/test/java/com/syncleus/grail/graph/GodExtended.java b/src/test/java/com/syncleus/grail/graph/GodExtended.java
index 2a5e6fe..d56d1c2 100644
--- a/src/test/java/com/syncleus/grail/graph/GodExtended.java
+++ b/src/test/java/com/syncleus/grail/graph/GodExtended.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.frames.annotations.gremlin.GremlinGroovy;
diff --git a/src/test/java/com/syncleus/grail/graph/Location.java b/src/test/java/com/syncleus/grail/graph/Location.java
index 7bbe13d..63f0c38 100644
--- a/src/test/java/com/syncleus/grail/graph/Location.java
+++ b/src/test/java/com/syncleus/grail/graph/Location.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.frames.*;
diff --git a/src/test/java/com/syncleus/grail/graph/LocationExtended.java b/src/test/java/com/syncleus/grail/graph/LocationExtended.java
index 53cca60..dc97b8e 100644
--- a/src/test/java/com/syncleus/grail/graph/LocationExtended.java
+++ b/src/test/java/com/syncleus/grail/graph/LocationExtended.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.frames.Property;
diff --git a/src/test/java/com/syncleus/grail/graph/MockTransactionalTinkerGraph.java b/src/test/java/com/syncleus/grail/graph/MockTransactionalTinkerGraph.java
index e59168e..4080c98 100644
--- a/src/test/java/com/syncleus/grail/graph/MockTransactionalTinkerGraph.java
+++ b/src/test/java/com/syncleus/grail/graph/MockTransactionalTinkerGraph.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph;
 
 import com.tinkerpop.blueprints.*;
diff --git a/src/test/java/com/syncleus/grail/graph/titangraph/BlueprintsTest.java b/src/test/java/com/syncleus/grail/graph/titangraph/BlueprintsTest.java
index f018b88..325cbad 100644
--- a/src/test/java/com/syncleus/grail/graph/titangraph/BlueprintsTest.java
+++ b/src/test/java/com/syncleus/grail/graph/titangraph/BlueprintsTest.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.titangraph;
 
 import com.thinkaurelius.titan.core.TitanGraph;
diff --git a/src/test/java/com/syncleus/grail/graph/titangraph/FramesTest.java b/src/test/java/com/syncleus/grail/graph/titangraph/FramesTest.java
index 41b8f12..115bece 100644
--- a/src/test/java/com/syncleus/grail/graph/titangraph/FramesTest.java
+++ b/src/test/java/com/syncleus/grail/graph/titangraph/FramesTest.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.titangraph;
 
 import com.syncleus.grail.graph.*;
diff --git a/src/test/java/com/syncleus/grail/graph/titangraph/GremlinTest.java b/src/test/java/com/syncleus/grail/graph/titangraph/GremlinTest.java
index ed6ff4c..0ecdd17 100644
--- a/src/test/java/com/syncleus/grail/graph/titangraph/GremlinTest.java
+++ b/src/test/java/com/syncleus/grail/graph/titangraph/GremlinTest.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.titangraph;
 
 import com.thinkaurelius.titan.core.TitanGraph;
diff --git a/src/test/java/com/syncleus/grail/graph/titangraph/TitanGods.java b/src/test/java/com/syncleus/grail/graph/titangraph/TitanGods.java
index 8f7e269..4814b65 100644
--- a/src/test/java/com/syncleus/grail/graph/titangraph/TitanGods.java
+++ b/src/test/java/com/syncleus/grail/graph/titangraph/TitanGods.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.titangraph;
 
 import com.thinkaurelius.titan.core.TitanFactory;
diff --git a/src/test/java/com/syncleus/grail/graph/titangraph/TypedAdjacencyHandlerTest.java b/src/test/java/com/syncleus/grail/graph/titangraph/TypedAdjacencyHandlerTest.java
index 6bd6484..be95d98 100644
--- a/src/test/java/com/syncleus/grail/graph/titangraph/TypedAdjacencyHandlerTest.java
+++ b/src/test/java/com/syncleus/grail/graph/titangraph/TypedAdjacencyHandlerTest.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.titangraph;
 
 import com.syncleus.grail.graph.*;
diff --git a/src/test/java/com/syncleus/grail/graph/titangraph/TypedIncidenceHandlerTest.java b/src/test/java/com/syncleus/grail/graph/titangraph/TypedIncidenceHandlerTest.java
index 2b0ae81..f2b89cd 100644
--- a/src/test/java/com/syncleus/grail/graph/titangraph/TypedIncidenceHandlerTest.java
+++ b/src/test/java/com/syncleus/grail/graph/titangraph/TypedIncidenceHandlerTest.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.graph.titangraph;
 
 import com.syncleus.grail.graph.*;
diff --git a/src/test/java/com/syncleus/grail/neural/backprop/ActionTriggerXor3InputTest.java b/src/test/java/com/syncleus/grail/neural/backprop/ActionTriggerXor3InputTest.java
index eff2694..e02711f 100644
--- a/src/test/java/com/syncleus/grail/neural/backprop/ActionTriggerXor3InputTest.java
+++ b/src/test/java/com/syncleus/grail/neural/backprop/ActionTriggerXor3InputTest.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural.backprop;
 
 import com.syncleus.grail.neural.activation.*;
diff --git a/src/test/java/com/syncleus/grail/neural/backprop/SimpleOrTest.java b/src/test/java/com/syncleus/grail/neural/backprop/SimpleOrTest.java
index 79cc09a..37e85a1 100644
--- a/src/test/java/com/syncleus/grail/neural/backprop/SimpleOrTest.java
+++ b/src/test/java/com/syncleus/grail/neural/backprop/SimpleOrTest.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural.backprop;
 
 import com.syncleus.grail.neural.activation.*;
diff --git a/src/test/java/com/syncleus/grail/neural/backprop/SimpleXor2InputTest.java b/src/test/java/com/syncleus/grail/neural/backprop/SimpleXor2InputTest.java
index 08bd7d3..e237521 100644
--- a/src/test/java/com/syncleus/grail/neural/backprop/SimpleXor2InputTest.java
+++ b/src/test/java/com/syncleus/grail/neural/backprop/SimpleXor2InputTest.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural.backprop;
 
 import com.syncleus.grail.neural.activation.*;
diff --git a/src/test/java/com/syncleus/grail/neural/backprop/SimpleXor3InputTest.java b/src/test/java/com/syncleus/grail/neural/backprop/SimpleXor3InputTest.java
index b344e35..05dfb6e 100644
--- a/src/test/java/com/syncleus/grail/neural/backprop/SimpleXor3InputTest.java
+++ b/src/test/java/com/syncleus/grail/neural/backprop/SimpleXor3InputTest.java
@@ -1,3 +1,21 @@
+/******************************************************************************
+ *                                                                             *
+ *  Copyright: (c) Syncleus, Inc.                                              *
+ *                                                                             *
+ *  You may redistribute and modify this source code under the terms and       *
+ *  conditions of the Open Source Community License - Type C version 1.0       *
+ *  or any later version as published by Syncleus, Inc. at www.syncleus.com.   *
+ *  There should be a copy of the license included with this file. If a copy   *
+ *  of the license is not included you are granted no right to distribute or   *
+ *  otherwise use this file except through a legal and valid license. You      *
+ *  should also contact Syncleus, Inc. at the information below if you cannot  *
+ *  find a license:                                                            *
+ *                                                                             *
+ *  Syncleus, Inc.                                                             *
+ *  2604 South 12th Street                                                     *
+ *  Philadelphia, PA 19148                                                     *
+ *                                                                             *
+ ******************************************************************************/
 package com.syncleus.grail.neural.backprop;
 
 import com.syncleus.grail.neural.activation.*;
-- 
GitLab