diff --git a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/AbstractWagon.java b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/AbstractWagon.java
index 66f5245..2a0849c 100644
--- a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/AbstractWagon.java
+++ b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/AbstractWagon.java
@@ -1,11 +1,11 @@
 /*
- * Copyright 2004-2007 the original author or authors.
+ * Copyright 2010 SpringSource
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.springframework.aws.maven;
 
 import org.apache.maven.wagon.ConnectionException;
diff --git a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/SessionListenerSupport.java b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/SessionListenerSupport.java
index 5de3f9c..6084c10 100644
--- a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/SessionListenerSupport.java
+++ b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/SessionListenerSupport.java
@@ -1,11 +1,11 @@
 /*
- * Copyright 2004-2007 the original author or authors.
+ * Copyright 2010 SpringSource
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.springframework.aws.maven;
 
 import java.util.HashSet;
diff --git a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/SimpleStorageServiceWagon.java b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/SimpleStorageServiceWagon.java
index f578732..0a6db3d 100644
--- a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/SimpleStorageServiceWagon.java
+++ b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/SimpleStorageServiceWagon.java
@@ -1,11 +1,11 @@
 /*
- * Copyright 2004-2007 the original author or authors.
+ * Copyright 2010 SpringSource
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.springframework.aws.maven;
 
 import org.apache.maven.wagon.ResourceDoesNotExistException;
diff --git a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferListenerSupport.java b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferListenerSupport.java
index 7ed1eff..83e502d 100644
--- a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferListenerSupport.java
+++ b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferListenerSupport.java
@@ -1,11 +1,11 @@
 /*
- * Copyright 2004-2007 the original author or authors.
+ * Copyright 2010 SpringSource
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.springframework.aws.maven;
 
 import java.util.HashSet;
diff --git a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgress.java b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgress.java
index 6fbce32..a45cc86 100644
--- a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgress.java
+++ b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgress.java
@@ -1,11 +1,11 @@
 /*
- * Copyright 2004-2007 the original author or authors.
+ * Copyright 2010 SpringSource
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.springframework.aws.maven;
 
 import org.apache.maven.wagon.resource.Resource;
diff --git a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgressFileInputStream.java b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgressFileInputStream.java
index fa4b434..c1fce13 100644
--- a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgressFileInputStream.java
+++ b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgressFileInputStream.java
@@ -1,11 +1,11 @@
 /*
- * Copyright 2004-2007 the original author or authors.
+ * Copyright 2010 SpringSource
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.springframework.aws.maven;
 
 import java.io.File;
diff --git a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgressFileOutputStream.java b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgressFileOutputStream.java
index 7984a48..e24b8a3 100644
--- a/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgressFileOutputStream.java
+++ b/org.springframework.build.aws.maven/src/main/java/org/springframework/aws/maven/TransferProgressFileOutputStream.java
@@ -1,11 +1,11 @@
 /*
- * Copyright 2004-2007 the original author or authors.
+ * Copyright 2010 SpringSource
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ *     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,
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.springframework.aws.maven;
 
 import java.io.File;
