diff --git a/solr/conf/solrconfig-auth-load.xml b/solr/conf/solrconfig-auth-load.xml
index ed0304a..587f3a1 100644
--- a/solr/conf/solrconfig-auth-load.xml
+++ b/solr/conf/solrconfig-auth-load.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" ?>
-
+<?xml version="1.0" encoding="UTF-8" ?>
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
@@ -16,12 +15,6 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 -->
-
-<!-- $Id$
-     $Source$
-     $Name$
-  -->
-
 <config>
 
   <luceneMatchVersion>${tests.luceneMatchVersion:LUCENE_CURRENT}</luceneMatchVersion>
diff --git a/solr/conf/solrconfig-auth-qparser.xml b/solr/conf/solrconfig-auth-qparser.xml
index edfae47..16caec9 100644
--- a/solr/conf/solrconfig-auth-qparser.xml
+++ b/solr/conf/solrconfig-auth-qparser.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" ?>
-
+<?xml version="1.0" encoding="UTF-8" ?>
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
@@ -16,12 +15,6 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 -->
-
-<!-- $Id$
-     $Source$
-     $Name$
-  -->
-
 <config>
 
   <luceneMatchVersion>${tests.luceneMatchVersion:LUCENE_CURRENT}</luceneMatchVersion>
diff --git a/solr/conf/solrconfig-auth.xml b/solr/conf/solrconfig-auth.xml
index 106c2b6..c25e7c7 100644
--- a/solr/conf/solrconfig-auth.xml
+++ b/solr/conf/solrconfig-auth.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" ?>
-
+<?xml version="1.0" encoding="UTF-8" ?>
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
@@ -16,12 +15,6 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 -->
-
-<!-- $Id$
-     $Source$
-     $Name$
-  -->
-
 <config>
 
   <luceneMatchVersion>${tests.luceneMatchVersion:LUCENE_CURRENT}</luceneMatchVersion>
diff --git a/src/main/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java b/src/main/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java
index 09fb508..e67868f 100644
--- a/src/main/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java
+++ b/src/main/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java
@@ -21,21 +21,11 @@
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.solr.search.QParserPlugin;
 import org.apache.solr.search.QParser;
-import org.apache.solr.common.params.CommonParams;
-import org.apache.solr.common.params.MapSolrParams;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
-import org.apache.solr.common.util.StrUtils;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.common.SolrException;
-import org.apache.solr.common.params.CommonParams;
-import org.apache.solr.common.params.ShardParams;
-import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
-import org.apache.solr.handler.component.ResponseBuilder;
-import org.apache.solr.handler.component.SearchComponent;
 import org.apache.solr.core.CloseHook;
-import org.apache.solr.util.plugin.SolrCoreAware;
 import org.apache.solr.core.SolrCore;
 import org.apache.commons.httpclient.*;
 import org.apache.commons.httpclient.methods.*;
@@ -94,7 +84,7 @@
   {
     super();
   }
-
+  @Override
   public void init(NamedList args)
   {
     authorityBaseURL = (String)args.get("AuthorityServiceBaseURL");
diff --git a/src/main/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java b/src/main/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java
index 9164769..c0bf115 100644
--- a/src/main/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java
+++ b/src/main/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java
@@ -327,6 +327,7 @@
     return "$URL$";
   }
 
+  @Override
   public void inform(SolrCore core)
   {
     core.addCloseHook(new CloseHandler());
