diff --git a/jbatch/src/main/java/org/apache/batchee/container/services/persistence/JPAPersistenceManagerService.java b/jbatch/src/main/java/org/apache/batchee/container/services/persistence/JPAPersistenceManagerService.java
index a185b99..2665c7f 100644
--- a/jbatch/src/main/java/org/apache/batchee/container/services/persistence/JPAPersistenceManagerService.java
+++ b/jbatch/src/main/java/org/apache/batchee/container/services/persistence/JPAPersistenceManagerService.java
@@ -172,7 +172,7 @@
             setJobStatusData(status, entity);
             return status;
         } catch (NoResultException e) {
-			throw new NoSuchJobExecutionException("Execution #" + executionId, e);
+            throw new NoSuchJobExecutionException("Execution #" + executionId, e);
         } finally {
             emProvider.release(em);
         }
@@ -422,7 +422,7 @@
             final JobExecutionEntity instance = em.find(JobExecutionEntity.class, jobExecutionId);
             
             if(instance == null) {
-    			throw new NoSuchJobExecutionException("Execution #" + jobExecutionId);
+                throw new NoSuchJobExecutionException("Execution #" + jobExecutionId);
             }
 
             final JobExecutionImpl jobEx = new JobExecutionImpl(jobExecutionId, instance.getInstance().getJobInstanceId(), this);
diff --git a/jbatch/src/test/java/org/apache/batchee/container/impl/JPAPersistenceManagerTest.java b/jbatch/src/test/java/org/apache/batchee/container/impl/JPAPersistenceManagerTest.java
index a95edbe..f9a5f32 100644
--- a/jbatch/src/test/java/org/apache/batchee/container/impl/JPAPersistenceManagerTest.java
+++ b/jbatch/src/test/java/org/apache/batchee/container/impl/JPAPersistenceManagerTest.java
@@ -1,5 +1,20 @@
 package org.apache.batchee.container.impl;
-
+/*
+ * Copyright 2012 International Business Machines Corp.
+ *
+ * See the NOTICE file distributed with this work for additional information
+ * regarding copyright ownership. Licensed under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 import static org.junit.Assert.assertEquals;
 
 import java.util.Properties;
