Add license headers

Change-Id: I43613aa6ad6082624459b164a617fb2147041239
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/Module.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/Module.java
index e2f35cd..39c937d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/Module.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview;
 
 import com.google.gerrit.server.events.EventListener;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/PatchSetReviewer.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/PatchSetReviewer.java
index beb91ae..4d4f41f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/PatchSetReviewer.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/PatchSetReviewer.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview;
 
 import com.google.inject.Inject;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/ConfigCreator.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/ConfigCreator.java
index 7a0a468..0185c47 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/ConfigCreator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/ConfigCreator.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.config;
 
 import static com.googlesource.gerrit.plugins.aicodereview.config.DynamicConfiguration.KEY_DYNAMIC_CONFIG;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/Configuration.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/Configuration.java
index 4caebfa..74a687c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/Configuration.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/Configuration.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.config;
 
 import com.google.common.base.Strings;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/DynamicConfiguration.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/DynamicConfiguration.java
index 34d40de..e7ca9f3 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/DynamicConfiguration.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/config/DynamicConfiguration.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.config;
 
 import com.googlesource.gerrit.plugins.aicodereview.data.PluginDataHandler;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/ChangeSetDataHandler.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/ChangeSetDataHandler.java
index 5dbd33f..514d3ae 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/ChangeSetDataHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/ChangeSetDataHandler.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.data;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/ChangeSetDataProvider.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/ChangeSetDataProvider.java
index c18a63b..f0ac342 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/ChangeSetDataProvider.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/ChangeSetDataProvider.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.data;
 
 import com.google.gerrit.server.account.AccountCache;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandler.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandler.java
index facef4b..798d79e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandler.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.data;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandlerBaseProvider.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandlerBaseProvider.java
index 74b04eb..594d189 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandlerBaseProvider.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandlerBaseProvider.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.data;
 
 import com.google.inject.Inject;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandlerProvider.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandlerProvider.java
index a3b7425..0ea85f9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandlerProvider.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/data/PluginDataHandlerProvider.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.data;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.FileUtils.sanitizeFilename;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/listener/IEventHandlerType.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/listener/IEventHandlerType.java
index 23a3502..42cb319 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/listener/IEventHandlerType.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/listener/IEventHandlerType.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.interfaces.listener;
 
 public interface IEventHandlerType {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/api/gerrit/GerritClientPatchSet.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/api/gerrit/GerritClientPatchSet.java
index d543e62..8044bd2 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/api/gerrit/GerritClientPatchSet.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/api/gerrit/GerritClientPatchSet.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.interfaces.mode.common.client.api.gerrit;
 
 import com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit.GerritChange;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/api/openapi/ChatAIClient.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/api/openapi/ChatAIClient.java
index 253d50f..244b3ef 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/api/openapi/ChatAIClient.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/api/openapi/ChatAIClient.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.interfaces.mode.common.client.api.openapi;
 
 import com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit.GerritChange;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/prompt/ChatAIDataPrompt.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/prompt/ChatAIDataPrompt.java
index 0b486b3..bd055b1 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/prompt/ChatAIDataPrompt.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/common/client/prompt/ChatAIDataPrompt.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.interfaces.mode.common.client.prompt;
 
 import com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.gerrit.GerritComment;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/stateful/client/prompt/ChatGptPromptStateful.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/stateful/client/prompt/ChatGptPromptStateful.java
index 26162e9..9d340c6 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/stateful/client/prompt/ChatGptPromptStateful.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/interfaces/mode/stateful/client/prompt/ChatGptPromptStateful.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.interfaces.mode.stateful.client.prompt;
 
 import java.util.List;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerExecutor.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerExecutor.java
index 9abc5c9..8efe7ed 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerExecutor.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerExecutor.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.listener;
 
 import com.google.gerrit.extensions.annotations.PluginName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTask.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTask.java
index 58f4042..0c28cf2 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTask.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTask.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.listener;
 
 import com.google.common.annotations.VisibleForTesting;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypeChangeMerged.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypeChangeMerged.java
index 9e09af8..bf70a6b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypeChangeMerged.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypeChangeMerged.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.listener;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypeCommentAdded.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypeCommentAdded.java
index 5a243f0..439b9a0 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypeCommentAdded.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypeCommentAdded.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.listener;
 
 import com.googlesource.gerrit.plugins.aicodereview.PatchSetReviewer;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypePatchSetReview.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypePatchSetReview.java
index eeda4f2..9c8f2f9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypePatchSetReview.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/EventHandlerTypePatchSetReview.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.listener;
 
 import static com.google.gerrit.extensions.client.ChangeKind.REWORK;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/GerritEventContextModule.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/GerritEventContextModule.java
index 599a28d..9eebf35 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/GerritEventContextModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/GerritEventContextModule.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.listener;
 
 import static com.google.inject.Scopes.SINGLETON;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/GerritListener.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/GerritListener.java
index 8af562a..5e03787 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/GerritListener.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/listener/GerritListener.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.listener;
 
 import static com.googlesource.gerrit.plugins.aicodereview.listener.EventHandlerTask.EVENT_CLASS_MAP;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/localization/Localizer.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/localization/Localizer.java
index e14b48f..f599b21 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/localization/Localizer.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/localization/Localizer.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.localization;
 
 import com.google.inject.Inject;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/ClientBase.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/ClientBase.java
index 1e1984e..4e6860e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/ClientBase.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/ClientBase.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritChange.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritChange.java
index c623f0d..f6355d9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritChange.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritChange.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit;
 
 import com.google.gerrit.entities.BranchNameKey;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClient.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClient.java
index 250011a..dfc75e9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClient.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClient.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit;
 
 import com.google.inject.Inject;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientAccount.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientAccount.java
index ea3da6e..8933309 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientAccount.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientAccount.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit;
 
 import static java.util.stream.Collectors.toList;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientBase.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientBase.java
index 5d6d0a3..21e9abb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientBase.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientBase.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientComments.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientComments.java
index cfe8c1d..18a6503 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientComments.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientComments.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit;
 
 import static com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit.GerritClientDetail.toAuthor;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientDetail.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientDetail.java
index de9a826..0366efc 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientDetail.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientDetail.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit;
 
 import static java.util.Collections.emptyList;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientFacade.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientFacade.java
index c136c34..bee18aa 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientFacade.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientFacade.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit;
 
 import com.google.common.annotations.VisibleForTesting;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientPatchSet.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientPatchSet.java
index f3b4cc7..ad091c4 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientPatchSet.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientPatchSet.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.FileUtils.matchesExtensionList;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientReview.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientReview.java
index 3c385d2..bb09bdf 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientReview.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/gerrit/GerritClientReview.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit;
 
 import static com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt.MessageSanitizer.sanitizeAIChatMessage;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatClient.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatClient.java
index 92911b6..9a62d6c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatClient.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatClient.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.openai;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatParameters.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatParameters.java
index e41ea7d..7ee587d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatParameters.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatParameters.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.openai;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatTools.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatTools.java
index bb15c8b..ffc3f07 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatTools.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/api/openai/AIChatTools.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.openai;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/commands/ClientCommands.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/commands/ClientCommands.java
index 42d1e70..a37a733 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/commands/ClientCommands.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/commands/ClientCommands.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.commands;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/http/HttpClient.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/http/HttpClient.java
index 005482a..06d1588 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/http/HttpClient.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/http/HttpClient.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.http;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/http/HttpClientWithRetry.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/http/HttpClientWithRetry.java
index 85cf167..9bed490 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/http/HttpClientWithRetry.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/http/HttpClientWithRetry.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.http;
 
 import static java.net.HttpURLConnection.HTTP_OK;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/ClientMessage.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/ClientMessage.java
index 11f3cd6..47d3dcb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/ClientMessage.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/ClientMessage.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.messages;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocks.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocks.java
index b4ebe64..fba17cf 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocks.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocks.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.messages;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.TextUtils.CODE_DELIMITER;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocksDynamicSettings.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocksDynamicSettings.java
index 6b59477..a234b9f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocksDynamicSettings.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocksDynamicSettings.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.messages;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.TextUtils.prettyStringifyMap;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocksReview.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocksReview.java
index 083fe45..1306837 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocksReview.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/messages/DebugCodeBlocksReview.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.messages;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.TextUtils.prettyStringifyObject;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/code/CodeFinder.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/code/CodeFinder.java
index da41a7a..6300ae9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/code/CodeFinder.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/code/CodeFinder.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.patch.code;
 
 import com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.gerrit.GerritCodeRange;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/code/InlineCode.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/code/InlineCode.java
index 187e56f..74d948a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/code/InlineCode.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/code/InlineCode.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.patch.code;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.TextUtils.joinWithNewLine;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/comment/GerritCommentRange.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/comment/GerritCommentRange.java
index 57eda9f..837261a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/comment/GerritCommentRange.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/comment/GerritCommentRange.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.patch.comment;
 
 import com.googlesource.gerrit.plugins.aicodereview.mode.common.client.api.gerrit.GerritChange;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/diff/FileDiffProcessed.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/diff/FileDiffProcessed.java
index 0e560d5..b999b02 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/diff/FileDiffProcessed.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/patch/diff/FileDiffProcessed.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.patch.diff;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.TextUtils.joinWithNewLine;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatComment.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatComment.java
index 8b4791f..ccf9747 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatComment.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatComment.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPrompt.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPrompt.java
index 66bcccf..f1b2624 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPrompt.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPrompt.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptBase.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptBase.java
index 8edf813..2473bb5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptBase.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptBase.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptRequests.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptRequests.java
index afab2ad..1bf8b8f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptRequests.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptRequests.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.settings.Settings.OPEN_AI_CHAT_ROLE_USER;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptReview.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptReview.java
index 76d257a..acaa7e5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptReview.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatDataPromptReview.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatGptPrompt.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatGptPrompt.java
index 5def757..b0f83ab 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatGptPrompt.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatGptPrompt.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatHistory.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatHistory.java
index e528346..47e0ab6 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatHistory.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatHistory.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatPromptFactory.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatPromptFactory.java
index af1d7e0..31a9d16 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatPromptFactory.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/AIChatPromptFactory.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/Directives.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/Directives.java
index 5c0a546..5330e41 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/Directives.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/Directives.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt;
 
 import com.googlesource.gerrit.plugins.aicodereview.mode.common.model.data.ChangeSetData;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/MessageSanitizer.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/MessageSanitizer.java
index 24e56d4..64c5d00 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/MessageSanitizer.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/client/prompt/MessageSanitizer.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.StringUtils.backslashEachChar;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritCodeRange.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritCodeRange.java
index d17f15b..b7f5de3 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritCodeRange.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritCodeRange.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.gerrit;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritComment.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritComment.java
index b1e29b9..6b3fb93 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritComment.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritComment.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.gerrit;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritFileDiff.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritFileDiff.java
index 35cc11c..148b142 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritFileDiff.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritFileDiff.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.gerrit;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPatchSetDetail.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPatchSetDetail.java
index 7a4de23..5d56599 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPatchSetDetail.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPatchSetDetail.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.gerrit;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPatchSetFileDiff.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPatchSetFileDiff.java
index a20ea6b..88f9e91 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPatchSetFileDiff.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPatchSetFileDiff.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.gerrit;
 
 import java.util.List;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPermittedVotingRange.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPermittedVotingRange.java
index cb88eab..e266647 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPermittedVotingRange.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritPermittedVotingRange.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.gerrit;
 
 import lombok.Data;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritReview.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritReview.java
index c58ff2e..4ffc969 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritReview.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritReview.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.gerrit;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritReviewFileDiff.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritReviewFileDiff.java
index 84d832e..1425bf2 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritReviewFileDiff.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/gerrit/GerritReviewFileDiff.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.gerrit;
 
 import com.googlesource.gerrit.plugins.aicodereview.mode.common.model.patch.diff.DiffContent;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatDialogueItem.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatDialogueItem.java
index a57d6b9..0a299c4 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatDialogueItem.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatDialogueItem.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.openai;
 
 import lombok.Data;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatMessageItem.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatMessageItem.java
index dbf94d5..259bc7a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatMessageItem.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatMessageItem.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.openai;
 
 import java.util.List;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatReplyItem.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatReplyItem.java
index 2e1283d..98fc9de 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatReplyItem.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatReplyItem.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.openai;
 
 import lombok.Data;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatRequestMessage.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatRequestMessage.java
index 39969ca..614dc50 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatRequestMessage.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatRequestMessage.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.openai;
 
 import lombok.Builder;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseContent.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseContent.java
index 8d11594..b2df1d5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseContent.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseContent.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.openai;
 
 import java.util.List;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseMessage.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseMessage.java
index d4946f8..2cbefb0 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseMessage.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseMessage.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.openai;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseStreamed.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseStreamed.java
index edf34b7..e9c915e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseStreamed.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseStreamed.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.openai;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseUnstreamed.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseUnstreamed.java
index 4463250..98266c6 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseUnstreamed.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatResponseUnstreamed.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.openai;
 
 import java.util.List;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatTool.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatTool.java
index 2a582cf..9611417 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatTool.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatTool.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.openai;
 
 import java.util.List;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatToolCall.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatToolCall.java
index 1a71fe8..2abe200 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatToolCall.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatToolCall.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.openai;
 
 import lombok.Data;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatToolChoice.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatToolChoice.java
index fd05acf..9d49dd8 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatToolChoice.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/api/openai/AIChatToolChoice.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.openai;
 
 import lombok.Data;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/ChangeSetData.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/ChangeSetData.java
index caad845..195bb58 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/ChangeSetData.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/ChangeSetData.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.data;
 
 import java.util.HashSet;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/CommentData.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/CommentData.java
index afab316..ce64132 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/CommentData.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/CommentData.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.data;
 
 import com.googlesource.gerrit.plugins.aicodereview.mode.common.model.api.gerrit.GerritComment;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/GerritClientData.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/GerritClientData.java
index 3f16a94..c73da04 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/GerritClientData.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/data/GerritClientData.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.data;
 
 import com.googlesource.gerrit.plugins.aicodereview.mode.common.client.patch.diff.FileDiffProcessed;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/patch/code/CodeFinderDiff.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/patch/code/CodeFinderDiff.java
index 8637425..71f9edf 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/patch/code/CodeFinderDiff.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/patch/code/CodeFinderDiff.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.patch.code;
 
 import com.googlesource.gerrit.plugins.aicodereview.mode.common.model.patch.diff.DiffContent;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/patch/diff/DiffContent.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/patch/diff/DiffContent.java
index f3bfb91..dbb39a7 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/patch/diff/DiffContent.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/patch/diff/DiffContent.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.patch.diff;
 
 import lombok.Data;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/review/ReviewBatch.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/review/ReviewBatch.java
index 0281aec..e907ed6 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/review/ReviewBatch.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/common/model/review/ReviewBatch.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.common.model.review;
 
 import static com.googlesource.gerrit.plugins.aicodereview.settings.Settings.GERRIT_PATCH_SET_FILENAME;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/UriResourceLocatorStateful.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/UriResourceLocatorStateful.java
index 233770f..cfefee3 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/UriResourceLocatorStateful.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/UriResourceLocatorStateful.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api;
 
 public class UriResourceLocatorStateful {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatai/AIChatClientStateful.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatai/AIChatClientStateful.java
index 82b083c..5ef8994 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatai/AIChatClientStateful.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatai/AIChatClientStateful.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.chatai;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptAssistant.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptAssistant.java
index b7ad49b..4954814 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptAssistant.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptAssistant.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.chatgpt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt.AIChatPromptFactory.getAIChatPromptStateful;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptFiles.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptFiles.java
index b705c47..a377f98 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptFiles.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptFiles.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.chatgpt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptHttpClient.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptHttpClient.java
index a363632..f4d3c19 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptHttpClient.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptHttpClient.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.chatgpt;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptRun.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptRun.java
index 9b3668a..c93d0bc 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptRun.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptRun.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.chatgpt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptThread.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptThread.java
index e331972..0c310e3 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptThread.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptThread.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.chatgpt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptThreadMessage.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptThreadMessage.java
index 98912e1..1be88af 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptThreadMessage.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptThreadMessage.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.chatgpt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt.AIChatPromptFactory.getAIChatPromptStateful;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptVectorStore.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptVectorStore.java
index 5a13fc6..313132f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptVectorStore.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/chatgpt/ChatGptVectorStore.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.chatgpt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/gerrit/GerritClientPatchSetHelper.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/gerrit/GerritClientPatchSetHelper.java
index 7591257..4f8f948 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/gerrit/GerritClientPatchSetHelper.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/gerrit/GerritClientPatchSetHelper.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.gerrit;
 
 import static com.googlesource.gerrit.plugins.aicodereview.settings.Settings.COMMIT_MESSAGE_FILTER_OUT_PREFIXES;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/gerrit/GerritClientPatchSetStateful.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/gerrit/GerritClientPatchSetStateful.java
index 545ccf8..9cd1d3a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/gerrit/GerritClientPatchSetStateful.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/gerrit/GerritClientPatchSetStateful.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.gerrit;
 
 import static com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.gerrit.GerritClientPatchSetHelper.extractFilesFromPatch;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/git/GitRepoFiles.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/git/GitRepoFiles.java
index 4af9c48..e746f36 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/git/GitRepoFiles.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/api/git/GitRepoFiles.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.api.git;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.FileUtils.matchesExtensionList;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatDataPromptRequestsStateful.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatDataPromptRequestsStateful.java
index 2da30dd..75be8d6 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatDataPromptRequestsStateful.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatDataPromptRequestsStateful.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.prompt;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulBase.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulBase.java
index 3d4db26..13edb30 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulBase.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulBase.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.prompt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.TextUtils.DOT;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulRequests.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulRequests.java
index 9664ea5..42aecb3 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulRequests.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulRequests.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.prompt;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulReview.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulReview.java
index 95fbfad..105aa37 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulReview.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/client/prompt/AIChatGptPromptStatefulReview.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.client.prompt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.TextUtils.COLON_SPACE;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateAssistantRequestBody.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateAssistantRequestBody.java
index 7bb7954..9d52912 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateAssistantRequestBody.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateAssistantRequestBody.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.model.api.chatgpt;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateRunRequest.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateRunRequest.java
index 61340a0..c5e769e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateRunRequest.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateRunRequest.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.model.api.chatgpt;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateVectorStoreRequest.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateVectorStoreRequest.java
index 12709b9..9051559 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateVectorStoreRequest.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptCreateVectorStoreRequest.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.model.api.chatgpt;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptFilesResponse.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptFilesResponse.java
index 7921a06..bc73af0 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptFilesResponse.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptFilesResponse.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.model.api.chatgpt;
 
 import lombok.Data;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptListResponse.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptListResponse.java
index 70aa843..9b719ef 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptListResponse.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptListResponse.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.model.api.chatgpt;
 
 import java.util.List;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptResponse.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptResponse.java
index a8ba169..72af0be 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptResponse.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptResponse.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.model.api.chatgpt;
 
 import lombok.Data;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptRunStepsResponse.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptRunStepsResponse.java
index 9538fe8..9a60325 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptRunStepsResponse.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptRunStepsResponse.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.model.api.chatgpt;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptThreadMessageResponse.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptThreadMessageResponse.java
index 938a2e1..d96d35a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptThreadMessageResponse.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptThreadMessageResponse.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.model.api.chatgpt;
 
 import java.util.List;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptToolResources.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptToolResources.java
index 76dfefe..f341de0 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptToolResources.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateful/model/api/chatgpt/ChatGptToolResources.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateful.model.api.chatgpt;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/UriResourceLocatorStateless.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/UriResourceLocatorStateless.java
index d9e7723..5d022b5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/UriResourceLocatorStateless.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/UriResourceLocatorStateless.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateless.client.api;
 
 import com.google.common.base.Strings;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/chatai/AIChatClientStateless.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/chatai/AIChatClientStateless.java
index 51b357f..3b782a4 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/chatai/AIChatClientStateless.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/chatai/AIChatClientStateless.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateless.client.api.chatai;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.GsonUtils.getNoEscapedGson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/gerrit/GerritClientPatchSetStateless.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/gerrit/GerritClientPatchSetStateless.java
index 65dfc43..dc7ad66 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/gerrit/GerritClientPatchSetStateless.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/api/gerrit/GerritClientPatchSetStateless.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateless.client.api.gerrit;
 
 import static java.util.stream.Collectors.toList;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/prompt/AIChatDataPromptRequestsStateless.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/prompt/AIChatDataPromptRequestsStateless.java
index cf3880f..9166d74 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/prompt/AIChatDataPromptRequestsStateless.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/prompt/AIChatDataPromptRequestsStateless.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateless.client.prompt;
 
 import com.googlesource.gerrit.plugins.aicodereview.config.Configuration;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/prompt/AIChatPromptStateless.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/prompt/AIChatPromptStateless.java
index 5da4dd3..692d3a9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/prompt/AIChatPromptStateless.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/client/prompt/AIChatPromptStateless.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateless.client.prompt;
 
 import static com.googlesource.gerrit.plugins.aicodereview.utils.TextUtils.*;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/model/api/chatgpt/ChatGptCompletionRequest.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/model/api/chatgpt/ChatGptCompletionRequest.java
index de0a81f..85d9abf 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/model/api/chatgpt/ChatGptCompletionRequest.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/mode/stateless/model/api/chatgpt/ChatGptCompletionRequest.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.mode.stateless.model.api.chatgpt;
 
 import com.google.gson.annotations.SerializedName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/settings/Settings.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/settings/Settings.java
index e340f47..8c1ecfa 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/settings/Settings.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/settings/Settings.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.settings;
 
 import java.util.Map;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/FileUtils.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/FileUtils.java
index 6ee37d9..d236f79 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/FileUtils.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/FileUtils.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.utils;
 
 import java.io.IOException;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/GsonUtils.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/GsonUtils.java
index 7f1fb40..9b7e8eb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/GsonUtils.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/GsonUtils.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.utils;
 
 import com.google.gson.Gson;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/HashUtils.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/HashUtils.java
index 8e9d724..20e168c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/HashUtils.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/HashUtils.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.utils;
 
 import java.nio.charset.StandardCharsets;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/JsonTextUtils.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/JsonTextUtils.java
index 5f29c96..415ea4c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/JsonTextUtils.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/JsonTextUtils.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.utils;
 
 import java.util.regex.Pattern;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/StringUtils.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/StringUtils.java
index 2f37a4e..4e8fe43 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/StringUtils.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/StringUtils.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.utils;
 
 import java.util.List;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/TextUtils.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/TextUtils.java
index 81704b8..7a65657 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/TextUtils.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/TextUtils.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.utils;
 
 import java.lang.reflect.Field;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/ThreadUtils.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/ThreadUtils.java
index 6d938f6..f549d38 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/ThreadUtils.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/ThreadUtils.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.utils;
 
 public class ThreadUtils {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/TimeUtils.java b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/TimeUtils.java
index 5b86eea..ac0be6d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/TimeUtils.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/aicodereview/utils/TimeUtils.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.utils;
 
 import java.time.LocalDateTime;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewStatefulTest.java b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewStatefulTest.java
index 7a32c2b..51b209d 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewStatefulTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewStatefulTest.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview;
 
 import static com.googlesource.gerrit.plugins.aicodereview.mode.common.client.prompt.AIChatPromptFactory.getAIChatPromptStateful;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewStatelessTest.java b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewStatelessTest.java
index 1799b34..6202b2e 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewStatelessTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewStatelessTest.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview;
 
 import static com.googlesource.gerrit.plugins.aicodereview.config.Configuration.KEY_AI_CHAT_ENDPOINT;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewTestBase.java b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewTestBase.java
index 5e4b6c7..469f218 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewTestBase.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatReviewTestBase.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview;
 
 import static com.google.gerrit.extensions.client.ChangeKind.REWORK;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatTestBase.java b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatTestBase.java
index fd9524c..a1ed09c 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatTestBase.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/AIChatTestBase.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview;
 
 import static org.mockito.Mockito.when;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/PluginDataTest.java b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/PluginDataTest.java
index 4ceb349..d850736 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/PluginDataTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/PluginDataTest.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview;
 
 import static org.junit.Assert.assertEquals;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/TemporaryFileTest.java b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/TemporaryFileTest.java
index 95fae77..b44a0c6 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/TemporaryFileTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/TemporaryFileTest.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview;
 
 import static org.junit.Assert.assertEquals;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/TestGerritEventContextModule.java b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/TestGerritEventContextModule.java
index 2662d5f..917c985 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/TestGerritEventContextModule.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/TestGerritEventContextModule.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview;
 
 import com.google.gerrit.extensions.annotations.PluginData;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/integration/CodeReviewPluginIT.java b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/integration/CodeReviewPluginIT.java
index 1ad3e1c..962eb61 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/aicodereview/integration/CodeReviewPluginIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/aicodereview/integration/CodeReviewPluginIT.java
@@ -1,3 +1,17 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// 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.
+
 package com.googlesource.gerrit.plugins.aicodereview.integration;
 
 import static junit.framework.TestCase.assertNotNull;