diff --git a/.rat-excludes b/.rat-excludes
index e32ad43..6f4d8b7 100644
--- a/.rat-excludes
+++ b/.rat-excludes
@@ -15,3 +15,4 @@
 contrib/pig/example-script.pig
 contrib/redhat/cassandra
 redhat/apache-cassandra.spec
+.externalToolBuilders/**
diff --git a/src/java/org/apache/cassandra/net/IMessageCallback.java b/src/java/org/apache/cassandra/net/IMessageCallback.java
index 9ad498d..96c9c56 100644
--- a/src/java/org/apache/cassandra/net/IMessageCallback.java
+++ b/src/java/org/apache/cassandra/net/IMessageCallback.java
@@ -1,4 +1,25 @@
 package org.apache.cassandra.net;
+/*
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ */
+
 
 public interface IMessageCallback
 {
