refactor[TW18065]: Convert HasBranch to BranchToken

Change-Id: I2a4bf689f5d027e20ae11417b4893dbe8d98c1c1
diff --git a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd10SetupAndImportReqs.java b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd10SetupAndImportReqs.java
index 93f695b..1d3935e 100644
--- a/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd10SetupAndImportReqs.java
+++ b/plugins/org.eclipse.osee.ats.ide.demo/src/org/eclipse/osee/ats/ide/demo/populate/Pdd10SetupAndImportReqs.java
@@ -208,7 +208,7 @@
       return childBranch;
    }
 
-   private void demoDbTraceabilityTx(SkynetTransaction transaction, BranchId branch) {
+   private void demoDbTraceabilityTx(SkynetTransaction transaction, BranchToken branch) {
       try {
          Collection<Artifact> systemArts =
             DemoDbUtil.getArtTypeRequirements(debug, CoreArtifactTypes.SystemRequirementMsWord, "Robot", branch);
@@ -330,7 +330,7 @@
       }
    }
 
-   private void createApplicabilityArtifacts(SkynetTransaction transaction, BranchId branch) {
+   private void createApplicabilityArtifacts(SkynetTransaction transaction, BranchToken branch) {
       Artifact applicabilityFolder =
          ArtifactQuery.getArtifactFromTypeAndName(CoreArtifactTypes.Folder, "Applicability Tests", branch);
       if (applicabilityFolder == null) {
diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/branch/DemoBranchRegressionTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/branch/DemoBranchRegressionTest.java
index 2e86a78..cbbf2da 100644
--- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/branch/DemoBranchRegressionTest.java
+++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/branch/DemoBranchRegressionTest.java
@@ -47,7 +47,7 @@
 import org.eclipse.osee.ats.ide.integration.tests.ats.workflow.AtsTestUtil;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.AttributeTypeId;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
 import org.eclipse.osee.framework.core.enums.DemoBranches;
 import org.eclipse.osee.framework.jdk.core.type.OseeStateException;
@@ -192,7 +192,7 @@
    }
 
    @Override
-   public BranchId getProgramBranch() {
+   public BranchToken getProgramBranch() {
       return DemoBranches.SAW_Bld_2;
    }
 
diff --git a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/AtsBranchConfigurationTest.java b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/AtsBranchConfigurationTest.java
index fd18181..f6ff32f 100644
--- a/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/AtsBranchConfigurationTest.java
+++ b/plugins/org.eclipse.osee.ats.ide.integration.tests/src/org/eclipse/osee/ats/ide/integration/tests/ats/config/AtsBranchConfigurationTest.java
@@ -184,7 +184,7 @@
       WorkflowEditor.edit(teamWf);
 
       // create branch
-      BranchId workingBranch = createBranch(namespace, teamWf);
+      BranchToken workingBranch = createBranch(namespace, teamWf);
 
       // make changes
       if (DEBUG) {
@@ -287,7 +287,7 @@
       changes.execute();
 
       // create branch
-      BranchId workingBranch = createBranch(namespace, teamWf);
+      BranchToken workingBranch = createBranch(namespace, teamWf);
 
       // make changes
       if (DEBUG) {
@@ -405,16 +405,16 @@
       Assert.assertTrue(rd.isSuccess());
    }
 
-   public static BranchId createBranch(String namespace, IAtsTeamWorkflow teamWf) throws Exception {
+   public static BranchToken createBranch(String namespace, IAtsTeamWorkflow teamWf) throws Exception {
       Result result = AtsApiService.get().getBranchServiceIde().createWorkingBranch_Validate(
          (TeamWorkFlowArtifact) teamWf.getStoreObject());
       if (result.isFalse()) {
          AWorkbench.popup(result);
-         return BranchId.SENTINEL;
+         return BranchToken.SENTINEL;
       }
       AtsApiService.get().getBranchServiceIde().createWorkingBranch_Create(teamWf, true);
 
-      BranchId workingBranch = AtsApiService.get().getBranchService().getWorkingBranch(teamWf, true);
+      BranchToken workingBranch = AtsApiService.get().getBranchService().getWorkingBranch(teamWf, true);
       Assert.assertTrue("No working branch created", workingBranch.isValid());
       return workingBranch;
    }
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/BranchRegressionTest.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/BranchRegressionTest.java
index 54d551a..11baba2 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/BranchRegressionTest.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/BranchRegressionTest.java
@@ -119,7 +119,7 @@
    protected Artifact createAndDeleteArt;
    protected Artifact subsystemArt;
    protected Artifact preBranchArt;
-   protected BranchId workingBranch;
+   protected BranchToken workingBranch;
 
    /**
     * Test creation of Action (rpcrNum), creation of workingBranch, modification of some artifacts, commit of
@@ -427,7 +427,7 @@
       }
    }
 
-   protected Artifact getOrCreateArtifact(ArtifactTypeToken artifactType, String artifactName, BranchId branch, Artifact parent, boolean persist) {
+   protected Artifact getOrCreateArtifact(ArtifactTypeToken artifactType, String artifactName, BranchToken branch, Artifact parent, boolean persist) {
       Artifact art;
 
       try {
@@ -754,7 +754,7 @@
       }
    }
 
-   protected Artifact createSoftwareArtifact(ArtifactToken artifactToken, Artifact parent, String[] partitions, BranchId branch) throws MultipleAttributesExist {
+   protected Artifact createSoftwareArtifact(ArtifactToken artifactToken, Artifact parent, String[] partitions, BranchToken branch) throws MultipleAttributesExist {
       SkynetTransaction tx = TransactionManager.createTransaction(branch, "Create " + artifactToken.getName());
       Artifact newArt = ArtifactTypeManager.addArtifact(artifactToken, branch);
       Artifact parentArt = setParent(parent, partitions, newArt, tx);
@@ -772,7 +772,7 @@
       return art1;
    }
 
-   protected Artifact createSoftwareArtifact(ArtifactTypeToken artifactType, Artifact parent, String title, String[] partitions, BranchId branch) {
+   protected Artifact createSoftwareArtifact(ArtifactTypeToken artifactType, Artifact parent, String title, String[] partitions, BranchToken branch) {
       SkynetTransaction tx = TransactionManager.createTransaction(branch, "Create " + title);
       Artifact newArt = ArtifactTypeManager.addArtifact(artifactType, branch, title);
       Artifact parentArt = setParent(parent, partitions, newArt, tx);
@@ -849,7 +849,7 @@
 
    public abstract AttributeTypeId getCsciAttribute();
 
-   public abstract BranchId getProgramBranch();
+   public abstract BranchToken getProgramBranch();
 
    public abstract ArtifactTypeToken getCodeTeamWfArtType();
 
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/internal/AtsBranchServiceImpl.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/internal/AtsBranchServiceImpl.java
index 68ea7d8..af7d376 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/internal/AtsBranchServiceImpl.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/branch/internal/AtsBranchServiceImpl.java
@@ -202,7 +202,7 @@
 
    @Override
    public BranchToken getBranch(BranchId branch) {
-      return BranchManager.getBranch(branch);
+      return BranchManager.getBranchToken(branch);
    }
 
    @Override
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusBlam.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusBlam.java
index afbad23..872e258 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusBlam.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusBlam.java
@@ -49,6 +49,7 @@
 import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact;
 import org.eclipse.osee.define.ide.traceability.report.RequirementStatus;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken;
 import org.eclipse.osee.framework.core.data.OseeData;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
@@ -70,6 +71,7 @@
 import org.eclipse.osee.framework.logging.OseeLog;
 import org.eclipse.osee.framework.plugin.core.util.AIFile;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.artifact.BranchManager;
 import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
 import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam;
 import org.eclipse.osee.framework.ui.skynet.blam.VariableMap;
@@ -106,7 +108,7 @@
    private XBranchSelectWidget reportBranchWidget;
    private XVersionList versionsListViewer;
 
-   private BranchId selectedBranch;
+   private BranchToken selectedBranch;
    private IAtsProgram selectedProgram;
 
    private enum Index {
@@ -137,7 +139,8 @@
 
             try {
                if (version != null) {
-                  selectedBranch = AtsApiService.get().getVersionService().getBaselineBranchIdInherited(version);
+                  selectedBranch = BranchManager.getBranchToken(
+                     AtsApiService.get().getVersionService().getBaselineBranchIdInherited(version));
                   reportBranchWidget.setSelection(selectedBranch);
                }
             } catch (OseeCoreException ex) {
@@ -636,8 +639,7 @@
                reqTaskMap.put(requirementName, legacyId, requirementStatus);
             }
 
-            int percentComplete =
-               PercentCompleteTotalUtil.getPercentCompleteTotal(task, AtsApiService.get());
+            int percentComplete = PercentCompleteTotalUtil.getPercentCompleteTotal(task, AtsApiService.get());
             requirementStatus.addPartitionStatus(percentComplete, taskNameMatcher.group(1),
                task.getStateMgr().getCurrentStateName());
             requirementStatus.setTestPocs(task.getImplementers());
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusOld.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusOld.java
index d37b471..2b23f6d 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusOld.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/operation/DetailedTestStatusOld.java
@@ -56,6 +56,7 @@
 import org.eclipse.osee.define.ide.traceability.TraceabilityProviderOperation;
 import org.eclipse.osee.define.ide.traceability.report.RequirementStatus;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken;
 import org.eclipse.osee.framework.core.data.OseeData;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
@@ -76,6 +77,7 @@
 import org.eclipse.osee.framework.logging.OseeLog;
 import org.eclipse.osee.framework.plugin.core.util.AIFile;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.artifact.BranchManager;
 import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
 import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam;
 import org.eclipse.osee.framework.ui.skynet.blam.VariableMap;
@@ -124,7 +126,7 @@
    private XCombo branchViewWidget;
    private XBranchSelectWidget branchWidget;
 
-   private BranchId selectedBranch;
+   private BranchToken selectedBranch;
    private IAtsProgram selectedProgram;
    private static final int MAX_EXCEL_COLUMNS = 256;
 
@@ -160,7 +162,8 @@
 
             try {
                if (version != null) {
-                  selectedBranch = AtsApiService.get().getVersionService().getBaselineBranchIdInherited(version);
+                  selectedBranch = BranchManager.getBranchToken(
+                     AtsApiService.get().getVersionService().getBaselineBranchIdInherited(version));
                   requirementsBranchWidget.setSelection(selectedBranch);
                   testProcedureBranchWidget.setSelection(selectedBranch);
                }
@@ -589,8 +592,7 @@
                reqTaskMap.put(requirementName, legacyId, requirementStatus);
             }
 
-            int percentComplete =
-               PercentCompleteTotalUtil.getPercentCompleteTotal(task, AtsApiService.get());
+            int percentComplete = PercentCompleteTotalUtil.getPercentCompleteTotal(task, AtsApiService.get());
             requirementStatus.addPartitionStatus(percentComplete, taskNameMatcher.group(1),
                task.getStateMgr().getCurrentStateName());
             requirementStatus.setTestPocs(task.getImplementers());
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkingBranchUpdate.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkingBranchUpdate.java
index a2caba5..4fec558 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkingBranchUpdate.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/XWorkingBranchUpdate.java
@@ -83,7 +83,7 @@
                            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Update Branch",
                            String.format(
                               "Are you sure you want to update [%s]\n branch from Targeted Version or Team Configured branch [%s]?",
-                              branchToUpdate.getName(), BranchManager.getBranch(targetedBranch).getName()));
+                              branchToUpdate.getName(), BranchManager.getBranchToken(targetedBranch).getName()));
                         if (isUserSure) {
                            UpdateBranchData branchData =
                               BranchManager.updateBranch(branchToUpdate, new UserConflictResolver());
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/commit/CommitXManager.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/commit/CommitXManager.java
index 1c6f00e..7674864 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/commit/CommitXManager.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/util/widgets/commit/CommitXManager.java
@@ -73,7 +73,7 @@
          CommitConfigItem configItem = null;
          if (firstSelectedArt instanceof CommitConfigItem) {
             configItem = (CommitConfigItem) firstSelectedArt;
-            branch = BranchManager.getBranch(AtsApiService.get().getBranchService().getBranch(configItem));
+            branch = BranchManager.getBranchToken(AtsApiService.get().getBranchService().getBranch(configItem));
          }
 
          CommitOverride override =
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractAtsArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractAtsArtifact.java
index 6ea8cf4..7c9cd65 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractAtsArtifact.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractAtsArtifact.java
@@ -18,7 +18,7 @@
 import org.eclipse.osee.ats.ide.internal.AtsApiService;
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 
 /**
@@ -26,7 +26,7 @@
  */
 public abstract class AbstractAtsArtifact extends Artifact implements IAtsObject {
 
-   public AbstractAtsArtifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType) {
+   public AbstractAtsArtifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType) {
       super(id, guid, branch, artifactType);
    }
 
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractWorkflowArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractWorkflowArtifact.java
index 6be741c..8263457 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractWorkflowArtifact.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AbstractWorkflowArtifact.java
@@ -45,7 +45,7 @@
 import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact;
 import org.eclipse.osee.framework.access.AccessControlManager;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.TransactionId;
 import org.eclipse.osee.framework.core.enums.PermissionEnum;
 import org.eclipse.osee.framework.core.services.CmAccessControl;
@@ -77,7 +77,7 @@
    private IAtsLog atsLog;
    private TransactionId atsLogTx;
 
-   public AbstractWorkflowArtifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType) {
+   public AbstractWorkflowArtifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType) {
       super(id, guid, branch, artifactType);
    }
 
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AtsArtifactFactory.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AtsArtifactFactory.java
index 273e8ac..92fce40 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AtsArtifactFactory.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/AtsArtifactFactory.java
@@ -50,7 +50,7 @@
 import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact;
 import org.eclipse.osee.framework.core.data.ArtifactTypeId;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException;
 import org.eclipse.osee.framework.jdk.core.util.Strings;
 import org.eclipse.osee.framework.logging.OseeLog;
@@ -89,7 +89,7 @@
    }
 
    @Override
-   public Artifact getArtifactInstance(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType, boolean inDataStore) {
+   public Artifact getArtifactInstance(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType, boolean inDataStore) {
       Artifact toReturn;
       if (artifactType.inheritsFrom(Task)) {
          toReturn = new TaskArtifact(id, guid, branch, artifactType);
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/CollectorArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/CollectorArtifact.java
index cc4ca96..9987658 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/CollectorArtifact.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/CollectorArtifact.java
@@ -18,7 +18,7 @@
 import org.eclipse.osee.ats.ide.workflow.goal.HasMembers;
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationTypeSide;
 
 /**
@@ -28,7 +28,7 @@
 
    private final RelationTypeSide membersRelationType;
 
-   public CollectorArtifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType, RelationTypeSide membersRelationType) {
+   public CollectorArtifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType, RelationTypeSide membersRelationType) {
       super(id, guid, branch, artifactType);
       this.membersRelationType = membersRelationType;
    }
@@ -36,8 +36,7 @@
    @Override
    public void addMember(ArtifactId artifact) {
       if (!getMembers().contains(artifact)) {
-         addRelation(USER_DEFINED, membersRelationType,
-            AtsApiService.get().getQueryServiceIde().getArtifact(artifact));
+         addRelation(USER_DEFINED, membersRelationType, AtsApiService.get().getQueryServiceIde().getArtifact(artifact));
       }
    }
 
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/action/ActionArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/action/ActionArtifact.java
index be47f9b..30e07ac 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/action/ActionArtifact.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/action/ActionArtifact.java
@@ -32,6 +32,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreBranches;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
 import org.eclipse.osee.framework.jdk.core.util.Collections;
@@ -47,7 +48,7 @@
       this(AtsArtifactTypes.Action);
    }
 
-   public ActionArtifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType) {
+   public ActionArtifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType) {
       super(id, guid, branch, artifactType);
    }
 
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/goal/GoalArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/goal/GoalArtifact.java
index 22a2d24..bb7adb1 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/goal/GoalArtifact.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/goal/GoalArtifact.java
@@ -22,7 +22,7 @@
 import org.eclipse.osee.ats.ide.workflow.CollectorArtifact;
 import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 
 /**
@@ -30,7 +30,7 @@
  */
 public class GoalArtifact extends CollectorArtifact implements IAtsGoal {
 
-   public GoalArtifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType) {
+   public GoalArtifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType) {
       super(id, guid, branch, artifactType, AtsRelationTypes.Goal_Member);
    }
 
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/AbstractReviewArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/AbstractReviewArtifact.java
index 1f05cf8..693283e 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/AbstractReviewArtifact.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/AbstractReviewArtifact.java
@@ -31,7 +31,7 @@
 import org.eclipse.osee.ats.ide.workflow.AbstractWorkflowArtifact;
 import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.logging.OseeLog;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 
@@ -40,7 +40,7 @@
  */
 public abstract class AbstractReviewArtifact extends AbstractWorkflowArtifact implements IAtsAbstractReview {
 
-   public AbstractReviewArtifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType) {
+   public AbstractReviewArtifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType) {
       super(id, guid, branch, artifactType);
    }
 
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/DecisionReviewArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/DecisionReviewArtifact.java
index f59f3b6..1d2a9ed 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/DecisionReviewArtifact.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/DecisionReviewArtifact.java
@@ -17,7 +17,7 @@
 import org.eclipse.osee.ats.api.review.IAtsDecisionReview;
 import org.eclipse.osee.ats.ide.internal.AtsApiService;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.skynet.core.artifact.IATSStateMachineArtifact;
 
 /**
@@ -27,7 +27,7 @@
 
    public DecisionReviewOptions decisionOptions;
 
-   public DecisionReviewArtifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType) {
+   public DecisionReviewArtifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType) {
       super(id, guid, branch, artifactType);
       decisionOptions = new DecisionReviewOptions(this, AtsApiService.get());
    }
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/PeerToPeerReviewArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/PeerToPeerReviewArtifact.java
index 2a5e9ca..1b9a0e9 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/PeerToPeerReviewArtifact.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/review/PeerToPeerReviewArtifact.java
@@ -17,7 +17,7 @@
 import org.eclipse.osee.ats.api.review.IAtsPeerToPeerReview;
 import org.eclipse.osee.ats.ide.internal.AtsApiService;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.skynet.core.artifact.IATSStateMachineArtifact;
 
 /**
@@ -25,7 +25,7 @@
  */
 public class PeerToPeerReviewArtifact extends AbstractReviewArtifact implements IATSStateMachineArtifact, IAtsPeerToPeerReview {
 
-   public PeerToPeerReviewArtifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType) {
+   public PeerToPeerReviewArtifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType) {
       super(id, guid, branch, artifactType);
    }
 
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/sprint/SprintArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/sprint/SprintArtifact.java
index d6c4caa..e877aeb 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/sprint/SprintArtifact.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/sprint/SprintArtifact.java
@@ -23,7 +23,7 @@
 import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact;
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationTypeSide;
 import org.eclipse.osee.framework.core.exception.ArtifactDoesNotExist;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
@@ -33,7 +33,7 @@
  */
 public class SprintArtifact extends CollectorArtifact implements IAgileSprint {
 
-   public SprintArtifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType) {
+   public SprintArtifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType) {
       super(id, guid, branch, artifactType, AtsRelationTypes.AgileSprintToItem_AtsItem);
    }
 
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/task/TaskArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/task/TaskArtifact.java
index 648dbd9..386b680 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/task/TaskArtifact.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/task/TaskArtifact.java
@@ -23,7 +23,7 @@
 import org.eclipse.osee.ats.ide.workflow.AbstractWorkflowArtifact;
 import org.eclipse.osee.ats.ide.workflow.teamwf.TeamWorkFlowArtifact;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.jdk.core.type.OseeStateException;
 import org.eclipse.osee.framework.jdk.core.util.Strings;
 import org.eclipse.osee.framework.skynet.core.artifact.IATSStateMachineArtifact;
@@ -34,7 +34,7 @@
 public class TaskArtifact extends AbstractWorkflowArtifact implements IAtsTask, IATSStateMachineArtifact {
    Set<Long> taskHasNoParent = new HashSet<>();
 
-   public TaskArtifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType) {
+   public TaskArtifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType) {
       super(id, guid, branch, artifactType);
    }
 
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/teamwf/TeamWorkFlowArtifact.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/teamwf/TeamWorkFlowArtifact.java
index d516584..d12f993 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/teamwf/TeamWorkFlowArtifact.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/workflow/teamwf/TeamWorkFlowArtifact.java
@@ -35,7 +35,6 @@
 import org.eclipse.osee.ats.ide.workflow.review.ReviewManager;
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
 import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreBranches;
 import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException;
@@ -56,7 +55,7 @@
    private static final Set<Integer> teamArtsWithNoAction = new HashSet<>();
    private IAtsTeamDefinition teamDef;
 
-   public TeamWorkFlowArtifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType) {
+   public TeamWorkFlowArtifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType) {
       super(id, guid, branch, artifactType);
    }
 
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/AccessControlTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/AccessControlTest.java
index 44f2384..f1c17bb 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/AccessControlTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/AccessControlTest.java
@@ -18,7 +18,7 @@
 import org.eclipse.osee.client.test.framework.OseeLogMonitorRule;
 import org.eclipse.osee.client.test.framework.TestInfo;
 import org.eclipse.osee.framework.access.AccessControlManager;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.PermissionEnum;
 import org.eclipse.osee.framework.jdk.core.type.OseeStateException;
 import org.eclipse.osee.framework.skynet.core.UserManager;
@@ -49,7 +49,7 @@
    private static Artifact artifact4;
    private static Artifact artifact5;
 
-   private static BranchId branch;
+   private static BranchToken branch;
 
    @Test(expected = OseeStateException.class)
    public void testNoWriteOnReadAccessOnBranch() {
@@ -81,7 +81,7 @@
 
    @Test(expected = OseeStateException.class)
    public void testNoWriteOnDenyAccessOnBranch() {
-      BranchId branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch");
+      BranchToken branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch");
       AccessControlManager.setPermission(UserManager.getUser(), branch, PermissionEnum.DENY);
       artifact5 = new Artifact(branch, "New Name");
       artifact5.persist(testInfo.getTestName());
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactQueryTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactQueryTest.java
index 1bd93d7..8465df1 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactQueryTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactQueryTest.java
@@ -31,6 +31,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.AttributeId;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.TransactionToken;
 import org.eclipse.osee.framework.core.enums.BranchType;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTokens;
@@ -190,7 +191,7 @@
    @Test
    public void testGetOrCreate() throws Exception {
       String guid = GUID.create();
-      BranchId branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch");
+      BranchToken branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch");
       AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), branch, PermissionEnum.FULLACCESS);
 
       Artifact artifact1 = ArtifactQuery.getOrCreate(guid, CoreArtifactTypes.GeneralData, branch);
@@ -204,7 +205,7 @@
    @Test
    public void testLargeAttributeIndexing() throws Exception {
       String guid = GUID.create();
-      BranchId branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch");
+      BranchToken branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch");
       AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), branch, PermissionEnum.FULLACCESS);
 
       Artifact artifact1 = ArtifactQuery.getOrCreate(guid, CoreArtifactTypes.GeneralData, branch);
@@ -219,7 +220,7 @@
       Assert.assertEquals(artifact1, artifacts.iterator().next());
    }
 
-   private TransactionToken createArtifactFortestQueryById(List<ArtifactId> newIdsInOrder, BranchId branch) {
+   private TransactionToken createArtifactFortestQueryById(List<ArtifactId> newIdsInOrder, BranchToken branch) {
       Artifact created = ArtifactTypeManager.addArtifact(CoreArtifactTypes.Folder, branch);
       created.persist(testInfo.getTestName());
       ArtifactCache.deCache(created);
@@ -229,7 +230,7 @@
 
    @Test
    public void testQueryById() {
-      BranchId branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch");
+      BranchToken branch = BranchManager.createTopLevelBranch(testInfo.getTestName() + " branch");
       AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), branch, PermissionEnum.FULLACCESS);
 
       List<ArtifactId> newIdsInOrder = new LinkedList<>();
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/BranchPurgeTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/BranchPurgeTest.java
index da910d4..f61e0c5 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/BranchPurgeTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/BranchPurgeTest.java
@@ -23,7 +23,6 @@
 import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule;
 import org.eclipse.osee.client.test.framework.OseeLogMonitorRule;
 import org.eclipse.osee.client.test.framework.TestInfo;
-import org.eclipse.osee.framework.core.data.BranchId;
 import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
@@ -81,7 +80,7 @@
 
       Map<String, Integer> initialRowCount = TestUtil.getTableRowCounts(TABLES);
 
-      BranchId branch = BranchManager.createWorkingBranch(SAW_Bld_2, workingBranch);
+      BranchToken branch = BranchManager.createWorkingBranch(SAW_Bld_2, workingBranch);
       Collection<Artifact> softArts = TestUtil.createSimpleArtifacts(CoreArtifactTypes.SoftwareRequirementMsWord, 10,
          method.getQualifiedTestName(), branch);
       TransactionManager.persistInTransaction("Test purge branch", softArts);
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ChangeDataTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ChangeDataTest.java
index 293526a..4b611ed 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ChangeDataTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ChangeDataTest.java
@@ -24,7 +24,7 @@
 import org.eclipse.osee.client.test.framework.TestInfo;
 import org.eclipse.osee.framework.core.data.AttributeId;
 import org.eclipse.osee.framework.core.data.AttributeTypeId;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.GammaId;
 import org.eclipse.osee.framework.core.data.KindType;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
@@ -57,7 +57,7 @@
    @Rule
    public TestInfo method = new TestInfo();
 
-   private BranchId workingBranch;
+   private BranchToken workingBranch;
    private ChangeData theData;
 
    @Before
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ConflictTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ConflictTest.java
index e71894d..0b6f4c4 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ConflictTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ConflictTest.java
@@ -200,7 +200,7 @@
 
    @Test
    public void testMultiplicityCommit() {
-      BranchId parent = SAW_Bld_1;
+      BranchToken parent = SAW_Bld_1;
       Artifact testArt =
          ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirementMsWord, parent, "Multiplicity Test");
       testArt.persist("Save testArt on parent");
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/FrameworkEventToRemoteEventListenerTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/FrameworkEventToRemoteEventListenerTest.java
index ec4eda4..3eb0672 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/FrameworkEventToRemoteEventListenerTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/FrameworkEventToRemoteEventListenerTest.java
@@ -19,7 +19,7 @@
 import java.util.List;
 import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule;
 import org.eclipse.osee.client.test.framework.OseeLogMonitorRule;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.TransactionId;
 import org.eclipse.osee.framework.core.data.TransactionToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
@@ -54,7 +54,7 @@
    @Rule
    public OseeLogMonitorRule monitorRule = new OseeLogMonitorRule();
 
-   private static final BranchId BRANCH = SAW_Bld_1;
+   private static final BranchToken BRANCH = SAW_Bld_1;
    private static final String ARTIFACT_NAME_1 =
       FrameworkEventToRemoteEventListenerTest.class.getSimpleName() + ".Edit1";
    private static final TransactionId newArtTx = TransactionId.valueOf(12345);
@@ -128,10 +128,11 @@
       return remoteEvent;
    }
 
-   private static Artifact createArtifact(BranchId branch, String artifactName) {
+   private static Artifact createArtifact(BranchToken branch, String artifactName) {
       Assert.assertNotNull(branch);
       Assert.assertNotNull(artifactName);
-      Artifact artifact = ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirementMsWord, branch, artifactName);
+      Artifact artifact =
+         ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirementMsWord, branch, artifactName);
       Assert.assertNotNull(artifact);
       return artifact;
    }
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/RelationDeletionTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/RelationDeletionTest.java
index 932c863..d0e5e5e 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/RelationDeletionTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/RelationDeletionTest.java
@@ -23,7 +23,7 @@
 import org.eclipse.osee.client.test.framework.OseeHousekeepingRule;
 import org.eclipse.osee.client.test.framework.OseeLogMonitorRule;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
 import org.eclipse.osee.framework.core.operation.Operations;
@@ -125,7 +125,7 @@
 
    }
 
-   private Artifact createArtifact(ArtifactTypeToken artifactType, BranchId branch) {
+   private Artifact createArtifact(ArtifactTypeToken artifactType, BranchToken branch) {
       Artifact newArtifact = ArtifactTypeManager.addArtifact(artifactType, branch);
       artifacts.add(newArtifact);
       return newArtifact;
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/RelationOrderingTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/RelationOrderingTest.java
index cfdd742..f8c3ee6 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/RelationOrderingTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/RelationOrderingTest.java
@@ -27,7 +27,7 @@
 import org.eclipse.osee.client.test.framework.OseeLogMonitorRule;
 import org.eclipse.osee.client.test.framework.TestInfo;
 import org.eclipse.osee.framework.core.access.UserArtifactCheck;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
 import org.eclipse.osee.framework.core.enums.CoreBranches;
@@ -60,7 +60,7 @@
    @Rule
    public TestInfo method = new TestInfo();
 
-   private static final BranchId branch = CoreBranches.COMMON;
+   private static final BranchToken branch = CoreBranches.COMMON;
 
    private final Set<Artifact> itemsToDelete = new HashSet<>();
    private Artifact parent;
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/UserManagerTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/UserManagerTest.java
index 1d99de6..56ff141 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/UserManagerTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/UserManagerTest.java
@@ -19,7 +19,7 @@
 import java.util.Set;
 import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule;
 import org.eclipse.osee.client.test.framework.OseeLogMonitorRule;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.UserToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
@@ -105,7 +105,7 @@
       return user;
    }
 
-   private void createSampleDefaultGroups(BranchId branch, String... names) {
+   private void createSampleDefaultGroups(BranchToken branch, String... names) {
       for (String name : names) {
          //Create artifact
          Artifact groupArt = ArtifactTypeManager.addArtifact(CoreArtifactTypes.UserGroup, branch, name);
@@ -121,7 +121,7 @@
       }
    }
 
-   private void deleteSampleDefaultGroups(BranchId branch, String... artifactNames) {
+   private void deleteSampleDefaultGroups(BranchToken branch, String... artifactNames) {
       Collection<Artifact> list = ArtifactQuery.getArtifactListFromType(CoreArtifactTypes.UserGroup, branch);
       for (Artifact artifact : list) {
          for (String artifactName : artifactNames) {
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/utils/TestUtil.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/utils/TestUtil.java
index a6e6ffb..d55b809 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/utils/TestUtil.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/utils/TestUtil.java
@@ -23,6 +23,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.GammaId;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
@@ -47,7 +48,7 @@
    /**
     * Creates a simple artifact and adds it to the root artifact default hierarchical relation
     */
-   public static Artifact createSimpleArtifact(ArtifactTypeToken artifactType, String name, BranchId branch) {
+   public static Artifact createSimpleArtifact(ArtifactTypeToken artifactType, String name, BranchToken branch) {
       Artifact softArt = ArtifactTypeManager.addArtifact(artifactType, branch);
       softArt.setName(name);
       if (softArt.isAttributeTypeValid(CoreAttributeTypes.Subsystem)) {
@@ -58,7 +59,7 @@
       return softArt;
    }
 
-   public static Collection<Artifact> createSimpleArtifacts(ArtifactTypeToken artifactType, int numArts, String name, BranchId branch) {
+   public static Collection<Artifact> createSimpleArtifacts(ArtifactTypeToken artifactType, int numArts, String name, BranchToken branch) {
       List<Artifact> arts = new ArrayList<>();
       for (int x = 1; x < numArts + 1; x++) {
          arts.add(createSimpleArtifact(artifactType, name + " " + x, branch));
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/AbstractEditTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/AbstractEditTest.java
index fa646f2..ab89063 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/AbstractEditTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/AbstractEditTest.java
@@ -27,7 +27,7 @@
 import org.eclipse.osee.client.test.framework.OseeLogMonitorRule;
 import org.eclipse.osee.client.test.framework.TestInfo;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.PresentationType;
 import org.eclipse.osee.framework.jdk.core.util.Lib;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
@@ -64,13 +64,13 @@
    public TestInfo method = new TestInfo();
 
    private final String editFile;
-   private final BranchId branch;
+   private final BranchToken branch;
    private final ArtifactTypeToken artType;
    private final FileSystemRenderer renderer;
 
    private Artifact artifact;
 
-   protected AbstractEditTest(BranchId branch, String editFile, ArtifactTypeToken artType, FileSystemRenderer renderer) {
+   protected AbstractEditTest(BranchToken branch, String editFile, ArtifactTypeToken artType, FileSystemRenderer renderer) {
       this.branch = branch;
       this.editFile = editFile;
       this.artType = artType;
@@ -92,7 +92,7 @@
       }
    }
 
-   private Artifact createArtifact(BranchId branch, ArtifactTypeToken artType, String artifactName) {
+   private Artifact createArtifact(BranchToken branch, ArtifactTypeToken artType, String artifactName) {
       Assert.assertNotNull(branch);
       Assert.assertNotNull(artifactName);
       Artifact artifact = ArtifactTypeManager.addArtifact(artType, branch, artifactName);
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/HtmlRendererTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/HtmlRendererTest.java
index 6ea7333..149fc88 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/HtmlRendererTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/HtmlRendererTest.java
@@ -23,7 +23,7 @@
 import org.eclipse.osee.client.test.framework.OseeLogMonitorRule;
 import org.eclipse.osee.client.test.framework.TestInfo;
 import org.eclipse.osee.framework.access.AccessControlManager;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
 import org.eclipse.osee.framework.core.enums.DemoUsers;
@@ -64,7 +64,7 @@
    private static String EXPECTED_HTML;
    private final static String LEGACY_ID = "ABC-123,ABC-234";
    private final static String PARAGRAPH_NUMBER = "1.2.3.4";
-   private BranchId rootBranch;
+   private BranchToken rootBranch;
 
    private List<Artifact> theArtifacts = null;
 
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/PreviewAndMultiPreviewTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/PreviewAndMultiPreviewTest.java
index 3d8e164..fefe179 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/PreviewAndMultiPreviewTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/PreviewAndMultiPreviewTest.java
@@ -23,7 +23,7 @@
 import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule;
 import org.eclipse.osee.client.test.framework.OseeLogMonitorRule;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.PresentationType;
 import org.eclipse.osee.framework.core.operation.Operations;
@@ -191,7 +191,7 @@
       RendererManager.openInJob(art, PresentationType.PREVIEW);
    }
 
-   private Artifact createArtifact(ArtifactTypeToken type, BranchId branch, String name) {
+   private Artifact createArtifact(ArtifactTypeToken type, BranchToken branch, String name) {
       Artifact artifact = ArtifactTypeManager.addArtifact(type, branch, name);
       Assert.assertNotNull(artifact);
       testArtifacts.add(artifact);
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/RelationIntegrityCheckTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/RelationIntegrityCheckTest.java
index 43f4700..5de9cca 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/RelationIntegrityCheckTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/RelationIntegrityCheckTest.java
@@ -20,8 +20,8 @@
 import org.eclipse.osee.client.test.framework.OseeLogMonitorRule;
 import org.eclipse.osee.framework.access.AccessControlManager;
 import org.eclipse.osee.framework.core.data.BranchId;
-import org.eclipse.osee.framework.core.data.GammaId;
 import org.eclipse.osee.framework.core.data.BranchToken;
+import org.eclipse.osee.framework.core.data.GammaId;
 import org.eclipse.osee.framework.core.data.TransactionResult;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.DemoUsers;
@@ -65,8 +65,8 @@
    public OseeLogMonitorRule monitorRule = new OseeLogMonitorRule();
 
    private final DoubleKeyHashMap<Long, Long, LocalRelationLink> map = new DoubleKeyHashMap<>();
-   private BranchId parentBranch;
-   private BranchId workingBranch;
+   private BranchToken parentBranch;
+   private BranchToken workingBranch;
 
    @Before
    public void setUp() throws Exception {
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/ReplaceWithBaselineTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/ReplaceWithBaselineTest.java
index 9eafe10..6427e52 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/ReplaceWithBaselineTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/ReplaceWithBaselineTest.java
@@ -32,6 +32,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.AttributeId;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationTypeSide;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
@@ -121,8 +122,8 @@
    private static enum ChangeItem { NEW, DELETED, MODIFIED, MOVED, INTRODUCED, RELATION_ORDER_ATTR };
    //@formatter:on
 
-   private BranchId workingBranch;
-   private BranchId baselineBranch;
+   private BranchToken workingBranch;
+   private BranchToken baselineBranch;
 
    private final String testName;
    private final int expectedChangesLeft;
@@ -313,7 +314,7 @@
                      testData.setArtifactId(createNewArtifact(workingBranch, GUID.create()));
                      break;
                   case INTRODUCED:
-                     BranchId anotherBranch =
+                     BranchToken anotherBranch =
                         BranchManager.createWorkingBranch(workingBranch, "another working branch", ArtifactId.SENTINEL);
 
                      Artifact artifactToIntroduce = createNewArtifact(anotherBranch, "introduce artifact");
@@ -443,7 +444,7 @@
 
    }
 
-   private Artifact createNewArtifact(BranchId branch, String name) throws Exception {
+   private Artifact createNewArtifact(BranchToken branch, String name) throws Exception {
       Artifact artifact = ArtifactTypeManager.addArtifact(DOC, branch, name);
       artifact.persist(testName + name);
       return artifact;
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/WordTemplateRendererTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/WordTemplateRendererTest.java
index 0963356..ed10c5c 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/WordTemplateRendererTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/ui/skynet/WordTemplateRendererTest.java
@@ -45,6 +45,7 @@
 import org.eclipse.osee.framework.access.AccessControlManager;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
 import org.eclipse.osee.framework.core.enums.DemoUsers;
@@ -120,8 +121,8 @@
    private static String SLAVE_RENDERER_OPTIONS =
       "{\"ElementType\" : \"Artifact\", \"OutliningOptions\" : [{\"Outlining\" : true, \"RecurseChildren\" : true, \"HeadingAttributeType\" : \"Name\", \"ArtifactName\" : \"srsProducer.objects\", \"OutlineNumber\" : \"\" }], \"AttributeOptions\" : [{\"AttrType\" : \"Partition\", \"Label\" : \"<w:r wsp:rsidR=\\\"00591321\\\" wsp:rsidRPr=\\\"00D60E72\\\"><w:rPr><w:b/></w:rPr><w:t>Partition</w:t></w:r>\", \"FormatPre\" : \"<w:r wsp:rsidR=\\\"00591321\\\" wsp:rsidRPr=\\\"0004616A\\\"><w:rPr><w:i/></w:rPr><w:t>x</w:t></w:r>\", \"FormatPost\" : \"\"}, {\"AttrType\" : \"Legacy DAL\", \"Label\" : \"<w:r wsp:rsidR=\\\"00E16D7B\\\"><w:rPr><w:rFonts w:cs=\\\"Arial\\\"/><w:b/><w:sz-cs w:val=\\\"22\\\"/></w:rPr><w:t>Development Assurance Level:</w:t></w:r>\", \"FormatPre\" : \"<w:r wsp:rsidR=\\\"00591321\\\" wsp:rsidRPr=\\\"0004616A\\\"><w:rPr><w:i/></w:rPr><w:t>x</w:t></w:r>\", \"FormatPost\" : \"\"}, {\"AttrType\" : \"Word Template Content\", \"Label\" : \"\", \"FormatPre\" : \"\", \"FormatPost\" : \"\"}], \"MetadataOptions\" : [{\"Type\" : \"Applicability\", \"Format\" : \"\", \"Label\" : \"\"}, {\"Type\" : \"Artifact Type\", \"Format\" : \"\", \"Label\" : \"\"}, {\"Type\" : \"Artifact Id\", \"Format\" : \"\", \"Label\" : \"\"}]}";
 
-   private BranchId rootBranch;
-   private BranchId updateBranch;
+   private BranchToken rootBranch;
+   private BranchToken updateBranch;
    private Artifact docFolder;
    private Artifact swReqFolder;
    private Artifact templateFolder;
@@ -209,7 +210,7 @@
 
    @Test
    public void testBlankWordTemplateContent() {
-      BranchId rootBr = BranchManager.createTopLevelBranch("Root Branch");
+      BranchToken rootBr = BranchManager.createTopLevelBranch("Root Branch");
       AccessControlManager.setPermission(UserManager.getUser(DemoUsers.Joe_Smith), rootBr, PermissionEnum.FULLACCESS);
 
       SkynetTransaction tx =
@@ -639,15 +640,17 @@
    }
 
    // Create the folder to store the templates
-   private void setupTemplates(Artifact folder, BranchId branch) {
-      recurseTemplate = ArtifactTypeManager.addArtifact(CoreArtifactTypes.RendererTemplateWholeWord, branch, "Recurse Template");
+   private void setupTemplates(Artifact folder, BranchToken branch) {
+      recurseTemplate =
+         ArtifactTypeManager.addArtifact(CoreArtifactTypes.RendererTemplateWholeWord, branch, "Recurse Template");
       recurseTemplate.setSoleAttributeValue(CoreAttributeTypes.WholeWordContent, RECURSE_TEMPLATE_STRING);
       recurseTemplate.addAttributeFromString(CoreAttributeTypes.TemplateMatchCriteria,
          "org.eclipse.osee.framework.ui.skynet.word PREVIEW PREVIEW_WITH_RECURSE_NO_ATTRIBUTES");
       recurseTemplate.addAttributeFromString(CoreAttributeTypes.TemplateMatchCriteria,
          "org.eclipse.osee.framework.ui.skynet.render.WordTemplateRenderer PREVIEW PREVIEW_WITH_RECURSE_NO_ATTRIBUTES");
       recurseTemplate.setSoleAttributeFromString(CoreAttributeTypes.RendererOptions, RECURSIVE_RENDERER_OPTIONS);
-      singleTemplate = ArtifactTypeManager.addArtifact(CoreArtifactTypes.RendererTemplateWholeWord, branch, "Single Template");
+      singleTemplate =
+         ArtifactTypeManager.addArtifact(CoreArtifactTypes.RendererTemplateWholeWord, branch, "Single Template");
       singleTemplate.setSoleAttributeValue(CoreAttributeTypes.WholeWordContent, SINGLE_TEMPLATE_STRING);
       singleTemplate.setSoleAttributeValue(CoreAttributeTypes.RendererOptions, SINGLE_RENDERER_OPTIONS);
       singleTemplateAttrib =
@@ -659,18 +662,19 @@
          ArtifactTypeManager.addArtifact(CoreArtifactTypes.RendererTemplateWholeWord, branch, "srsMaster Template");
       masterTemplate.setSoleAttributeFromString(CoreAttributeTypes.WholeWordContent, MASTER_TEMPLATE_STRING);
       masterTemplate.setSoleAttributeFromString(CoreAttributeTypes.RendererOptions, MASTER_RENDERER_OPTIONS);
-      masterTemplate_idOnly =
-         ArtifactTypeManager.addArtifact(CoreArtifactTypes.RendererTemplateWholeWord, branch, "srsMaster Template ID only");
+      masterTemplate_idOnly = ArtifactTypeManager.addArtifact(CoreArtifactTypes.RendererTemplateWholeWord, branch,
+         "srsMaster Template ID only");
       masterTemplate_idOnly.setSoleAttributeFromString(CoreAttributeTypes.WholeWordContent,
          MASTER_TEMPLATE_STRING_IDONLY);
       masterTemplate_idOnly.setSoleAttributeFromString(CoreAttributeTypes.RendererOptions, MASTER_ID_RENDERER_OPTIONS);
-      masterTemplate_idAndName =
-         ArtifactTypeManager.addArtifact(CoreArtifactTypes.RendererTemplateWholeWord, branch, "srsMaster Template ID and name");
+      masterTemplate_idAndName = ArtifactTypeManager.addArtifact(CoreArtifactTypes.RendererTemplateWholeWord, branch,
+         "srsMaster Template ID and name");
       masterTemplate_idAndName.setSoleAttributeFromString(CoreAttributeTypes.WholeWordContent,
          MASTER_TEMPLATE_STRING_IDANDNAME);
       masterTemplate_idAndName.setSoleAttributeFromString(CoreAttributeTypes.RendererOptions,
          MASTER_ID_RENDERER_OPTIONS);
-      slaveTemplate = ArtifactTypeManager.addArtifact(CoreArtifactTypes.RendererTemplateWholeWord, branch, "srsSlave Template");
+      slaveTemplate =
+         ArtifactTypeManager.addArtifact(CoreArtifactTypes.RendererTemplateWholeWord, branch, "srsSlave Template");
       slaveTemplate.setSoleAttributeFromString(CoreAttributeTypes.WholeWordContent, SLAVE_TEMPLATE_STRING);
       slaveTemplate.setSoleAttributeFromString(CoreAttributeTypes.RendererOptions, SLAVE_RENDERER_OPTIONS);
 
@@ -696,7 +700,7 @@
          |     |---- Ventilation
     */
    //@formatter:on
-   private void setUpSWReq(Artifact swReqFolder, BranchId branch) {
+   private void setUpSWReq(Artifact swReqFolder, BranchToken branch) {
       Artifact crewReq =
          ArtifactTypeManager.addArtifact(CoreArtifactTypes.HeadingMsWord, branch, "Crew Station Requirements");
       Artifact commReq = ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirementMsWord, branch,
@@ -707,7 +711,8 @@
          "Aircraft Systems Management Subsystem Crew Interface");
       Artifact airDrawReq =
          ArtifactTypeManager.addArtifact(CoreArtifactTypes.HeadingMsWord, branch, "Aircraft Drawing");
-      Artifact ventReq = ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirementMsWord, branch, "Ventilation");
+      Artifact ventReq =
+         ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirementMsWord, branch, "Ventilation");
 
       swReqFolder.addChild(crewReq);
       crewReq.addChild(USER_DEFINED, commReq);
@@ -745,11 +750,13 @@
          |---- More Notes
     */
    //@formatter:on
-   private void setUpDocFolder(Artifact docFolder, BranchId branch) {
+   private void setUpDocFolder(Artifact docFolder, BranchToken branch) {
       Artifact intro = ArtifactTypeManager.addArtifact(CoreArtifactTypes.HeadingMsWord, branch, "Introduction");
-      Artifact background = ArtifactTypeManager.addArtifact(CoreArtifactTypes.SubsystemDesignMsWord, branch, "Background");
+      Artifact background =
+         ArtifactTypeManager.addArtifact(CoreArtifactTypes.SubsystemDesignMsWord, branch, "Background");
       Artifact scope = ArtifactTypeManager.addArtifact(CoreArtifactTypes.SubsystemDesignMsWord, branch, "Scope");
-      Artifact subSystem = ArtifactTypeManager.addArtifact(CoreArtifactTypes.SubsystemDesignMsWord, branch, "Subsystem");
+      Artifact subSystem =
+         ArtifactTypeManager.addArtifact(CoreArtifactTypes.SubsystemDesignMsWord, branch, "Subsystem");
       Artifact hardware = ArtifactTypeManager.addArtifact(CoreArtifactTypes.HeadingMsWord, branch, "Hardware");
       Artifact hardwareFunc =
          ArtifactTypeManager.addArtifact(CoreArtifactTypes.HardwareRequirementMsWord, branch, "Hardware Functions");
diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/HierarchyHandler.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/HierarchyHandler.java
index d830124..2fc2309 100644
--- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/HierarchyHandler.java
+++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/HierarchyHandler.java
@@ -18,7 +18,7 @@
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTokens;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
@@ -26,6 +26,7 @@
 import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
+import org.eclipse.osee.framework.skynet.core.artifact.BranchManager;
 import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
 import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
 
@@ -36,12 +37,12 @@
    private static final Matcher subsystemMatcher = Pattern.compile("(\\w*)\\.ss").matcher("");
    private final Map<String, Artifact> folderNameToArtifact = new HashMap<>(50);
    private final SkynetTransaction transaction;
-   private final BranchId branch;
+   private final BranchToken branch;
    private Artifact root;
 
    public HierarchyHandler(SkynetTransaction transaction) {
       this.transaction = transaction;
-      this.branch = transaction.getBranch();
+      this.branch = BranchManager.getBranchToken(transaction.getBranch());
    }
 
    public void addArtifact(Artifact testUnit) {
diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/operations/TraceResourceDropOperation.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/operations/TraceResourceDropOperation.java
index 0a8365b..5898034 100644
--- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/operations/TraceResourceDropOperation.java
+++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/operations/TraceResourceDropOperation.java
@@ -33,6 +33,7 @@
 import org.eclipse.osee.define.ide.traceability.TestUnitTagger;
 import org.eclipse.osee.define.ide.utility.IResourceLocator;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationTypeSide;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.exception.ArtifactDoesNotExist;
@@ -120,7 +121,7 @@
       TestUnitTagger tagger = TestUnitTagger.getInstance();
       String tag = tagger.getSourceTag(fileUri);
       Artifact testUnitArtifact = null;
-      BranchId branch = requirement.getBranch();
+      BranchToken branch = requirement.getBranch();
       boolean tagSource = false;
       if (GUID.isValid(tag)) {
          try {
diff --git a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/operations/TraceUnitToArtifactProcessor.java b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/operations/TraceUnitToArtifactProcessor.java
index a015fe5..e459724 100644
--- a/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/operations/TraceUnitToArtifactProcessor.java
+++ b/plugins/org.eclipse.osee.define.ide/src/org/eclipse/osee/define/ide/traceability/operations/TraceUnitToArtifactProcessor.java
@@ -40,6 +40,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationTypeSide;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
@@ -52,6 +53,7 @@
 import org.eclipse.osee.framework.plugin.core.util.Jobs;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
+import org.eclipse.osee.framework.skynet.core.artifact.BranchManager;
 import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
 import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
 import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager;
@@ -191,8 +193,8 @@
          traceUnitArtifact = getArtifactFromCache(monitor, traceUnit.getTraceUnitType(), traceUnit.getName());
       }
       if (traceUnitArtifact == null) {
-         traceUnitArtifact =
-            ArtifactTypeManager.addArtifact(traceUnit.getTraceUnitType(), transaction.getBranch(), null, guid);
+         BranchToken branch = BranchManager.getBranchToken(transaction.getBranch());
+         traceUnitArtifact = ArtifactTypeManager.addArtifact(traceUnit.getTraceUnitType(), branch, null, guid);
          traceUnitArtifact.setName(traceUnit.getName());
          artifactWasCreated = true;
       }
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/AccessControlServiceImpl.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/AccessControlServiceImpl.java
index e9ed2ff..19be408 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/AccessControlServiceImpl.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/AccessControlServiceImpl.java
@@ -47,6 +47,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreBranches;
@@ -218,7 +219,8 @@
          ArtifactId subjectId = ArtifactId.valueOf(stmt.getLong("privilege_entity_id"));
          BranchId branch = BranchId.valueOf(stmt.getLong("branch_id"));
          PermissionEnum permission = PermissionEnum.getPermission(stmt.getInt("permission_id"));
-         BranchAccessObject branchAccessObject = BranchAccessObject.getBranchAccessObject(branch);
+         BranchAccessObject branchAccessObject =
+            BranchAccessObject.getBranchAccessObject(BranchToken.create(branch, "unknown"));
 
          accessControlListCache.put(subjectId.getId(), branchAccessObject, permission);
          objectToSubjectCache.put(branchAccessObject, subjectId);
@@ -236,7 +238,7 @@
       Consumer<JdbcStatement> consumer = stmt -> {
          ArtifactId subjectId = ArtifactId.valueOf(stmt.getLong("privilege_entity_id"));
          ArtifactId objectId = ArtifactId.valueOf(stmt.getLong("art_id"));
-         BranchId branch = BranchId.valueOf(stmt.getLong("branch_id"));
+         BranchToken branch = BranchManager.getBranchToken(BranchId.valueOf(stmt.getLong("branch_id")));
          PermissionEnum permission = PermissionEnum.getPermission(stmt.getInt("permission_id"));
 
          if (permission != null) {
@@ -323,8 +325,8 @@
       for (Object obj : objectsToCheck) {
          Artifact subject = getSubjectFromLockedObject(obj);
          if (subject != null && subject.notEqual(userArtifact)) {
-            accessData.add(obj,
-               new AccessDetail<ArtifactToken>((Artifact) obj, PermissionEnum.USER_LOCK, Scope.createArtifactLockScope()));
+            accessData.add(obj, new AccessDetail<ArtifactToken>((Artifact) obj, PermissionEnum.USER_LOCK,
+               Scope.createArtifactLockScope()));
          }
       }
    }
@@ -716,7 +718,8 @@
 
          if (artifactLockCache.containsKey(branch, objectArtId) && canUnlockObject(object, subject)) {
             AccessObject accessObject = getAccessObject(object);
-            removeAccessControlDataIf(true, new AccessControlData(subject, accessObject, PermissionEnum.USER_LOCK, false));
+            removeAccessControlDataIf(true,
+               new AccessControlData(subject, accessObject, PermissionEnum.USER_LOCK, false));
             artifactLockCache.removeAndGet(branch, objectArtId);
             event.addArtifact(object.getUuid());
             lockedArts.add(object);
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/AccessObject.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/AccessObject.java
index 500ce7b..520d35b 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/AccessObject.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/AccessObject.java
@@ -17,6 +17,7 @@
 import org.eclipse.osee.framework.access.internal.data.BranchAccessObject;
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.HasBranch;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 
@@ -32,7 +33,7 @@
       if (object instanceof Artifact) {
          return ArtifactAccessObject.getArtifactAccessObject((Artifact) object);
       } else if (object instanceof BranchId) {
-         return BranchAccessObject.getBranchAccessObject((BranchId) object);
+         return BranchAccessObject.getBranchAccessObject(BranchToken.create((BranchId) object, "unknown"));
       } else {
          return null;
       }
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlCacheHandler.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlCacheHandler.java
index 0cf75f3..8cac5a3 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlCacheHandler.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlCacheHandler.java
@@ -19,6 +19,7 @@
 import org.eclipse.osee.framework.access.AccessObject;
 import org.eclipse.osee.framework.access.internal.data.BranchAccessObject;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 
 /**
  * @author Jeff C. Phillips
@@ -26,7 +27,8 @@
 public class AccessControlCacheHandler {
 
    public void updateAccessListForBranchObject(AccessControlServiceImpl service, BranchId branch) {
-      BranchAccessObject branchAccessObject = BranchAccessObject.getBranchAccessObject(branch);
+      BranchAccessObject branchAccessObject =
+         BranchAccessObject.getBranchAccessObject(BranchToken.create(branch, "unknown"));
       if (branchAccessObject != null) {
          updateAccessList(service, branchAccessObject);
       }
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessEventListener.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessEventListener.java
index 0453522..8927dc6 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessEventListener.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessEventListener.java
@@ -17,6 +17,7 @@
 import java.util.logging.Level;
 import org.eclipse.osee.framework.access.AccessControlServiceImpl;
 import org.eclipse.osee.framework.access.internal.data.ArtifactAccessObject;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
 import org.eclipse.osee.framework.logging.OseeLog;
@@ -79,7 +80,8 @@
    public void handleBranchEvent(Sender sender, final BranchEvent branchEvent) {
       try {
          if (branchEvent.getEventType() == BranchEventType.Deleted) {
-            accessControlCacheHandler.updateAccessListForBranchObject(service, branchEvent.getSourceBranch());
+            accessControlCacheHandler.updateAccessListForBranchObject(service,
+               BranchToken.create(branchEvent.getSourceBranch(), "unknown"));
          }
       } catch (OseeCoreException ex) {
          OseeLog.log(AccessControlHelper.class, Level.SEVERE, ex);
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/data/ArtifactAccessObject.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/data/ArtifactAccessObject.java
index b3fddb3..c67d656 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/data/ArtifactAccessObject.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/data/ArtifactAccessObject.java
@@ -15,7 +15,7 @@
 
 import org.eclipse.osee.framework.access.AccessObject;
 import org.eclipse.osee.framework.core.data.ArtifactId;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.jdk.core.type.DoubleKeyHashMap;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.framework.skynet.core.utility.ConnectionHandler;
@@ -26,10 +26,10 @@
 public class ArtifactAccessObject extends AccessObject implements ArtifactId {
 
    private final ArtifactId artId;
-   private final BranchId branch;
-   private static final DoubleKeyHashMap<Long, BranchId, ArtifactAccessObject> cache = new DoubleKeyHashMap<>();
+   private final BranchToken branch;
+   private static final DoubleKeyHashMap<Long, BranchToken, ArtifactAccessObject> cache = new DoubleKeyHashMap<>();
 
-   public ArtifactAccessObject(ArtifactId artId, BranchId branch) {
+   public ArtifactAccessObject(ArtifactId artId, BranchToken branch) {
       this.artId = artId;
       this.branch = branch;
    }
@@ -43,7 +43,7 @@
    }
 
    @Override
-   public BranchId getBranch() {
+   public BranchToken getBranch() {
       return branch;
    }
 
@@ -63,7 +63,7 @@
       return getArtifactAccessObject(artifact, artifact.getBranch());
    }
 
-   public static ArtifactAccessObject getArtifactAccessObject(ArtifactId artifact, BranchId branch) {
+   public static ArtifactAccessObject getArtifactAccessObject(ArtifactId artifact, BranchToken branch) {
       ArtifactAccessObject accessObject = cache.get(artifact.getId(), branch);
 
       if (accessObject == null) {
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/data/BranchAccessObject.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/data/BranchAccessObject.java
index 9730a7b..e255f5d 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/data/BranchAccessObject.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/data/BranchAccessObject.java
@@ -18,13 +18,14 @@
 import org.eclipse.osee.framework.access.AccessObject;
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.skynet.core.utility.ConnectionHandler;
 
 /**
  * @author Jeff C. Phillips
  */
 public class BranchAccessObject extends AccessObject {
-   private final BranchId branch;
+   private final BranchToken branch;
    private static final Map<BranchId, BranchAccessObject> cache = new HashMap<>();
 
    @Override
@@ -34,12 +35,12 @@
       return result;
    }
 
-   public BranchAccessObject(BranchId branch) {
+   public BranchAccessObject(BranchToken branch) {
       this.branch = branch;
    }
 
    @Override
-   public BranchId getBranch() {
+   public BranchToken getBranch() {
       return branch;
    }
 
@@ -54,7 +55,7 @@
       ConnectionHandler.runPreparedUpdate(DELETE_BRANCH_ACL, subjectId, branch);
    }
 
-   public static BranchAccessObject getBranchAccessObject(BranchId branch) {
+   public static BranchAccessObject getBranchAccessObject(BranchToken branch) {
       BranchAccessObject branchAccessObject;
       if (cache.containsKey(branch)) {
          branchAccessObject = cache.get(branch);
diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchInterpreterTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchInterpreterTest.java
index d9ec505..34a71d1 100644
--- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchInterpreterTest.java
+++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/internal/ArtifactMatchInterpreterTest.java
@@ -16,7 +16,6 @@
 import java.util.Collection;
 import java.util.Iterator;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
 import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
 import org.eclipse.osee.framework.core.dsl.integration.ArtifactDataProvider.ArtifactProxy;
@@ -41,7 +40,7 @@
 public class ArtifactMatchInterpreterTest {
 
    private final ArtifactMatchInterpreter interpreter = new ArtifactMatchInterpreter();
-   private static final BranchId randomBranch = BranchId.create();
+   private static final BranchToken randomBranch = BranchToken.create("Random Branch");
 
    @Test
    public void testMatchNoConditions() {
@@ -135,20 +134,6 @@
    }
 
    @Test
-   public void testArtifactBranchUuidEq() {
-      BranchId branch = randomBranch;
-      XArtifactMatcher matcher =
-         MockModel.createMatcher("artifactMatcher \"Test\" where branchUuid EQ \"" + branch + "\";");
-
-      DslAsserts.assertEquals(matcher.getConditions().iterator().next(), MatchField.BRANCH_UUID, CompareOp.EQ,
-         branch.getIdString());
-
-      ArtifactProxy proxy = createProxy(GUID.create(), "art1", branch, "");
-      boolean actual = interpreter.matches(matcher, proxy);
-      Assert.assertEquals(true, actual);
-   }
-
-   @Test
    public void testArtifactBranchUuidLike() {
       XArtifactMatcher matcher = MockModel.createMatcher("artifactMatcher \"Test\" where branchUuid LIKE \"\\w+\";");
 
@@ -218,16 +203,16 @@
       Assert.assertEquals(2, compoundCondition.getConditions().size());
 
       String badArtGuid = "1BCDEFGHIJK123456789";
-      BranchId badBranch = BranchId.valueOf(333333333123456789L);
+      BranchToken badBranch = BranchToken.create(333333333123456789L, "Bad Branch");
       String badBranchName = "xArtifact";
 
       String goodArtGuid = "ABCDEFGHIJK123456789";
-      BranchId goodBranch = BranchId.valueOf(3456789101112131415L);
+      BranchToken goodBranch = BranchToken.create(3456789101112131415L, "Good Branch");
       String goodBranchName = "myArtifact";
 
       Iterator<SimpleCondition> iterator2 = compoundCondition.getConditions().iterator();
       DslAsserts.assertEquals(iterator2.next(), MatchField.BRANCH_NAME, CompareOp.EQ, "myArtifact");
-      DslAsserts.assertEquals(iterator2.next(), MatchField.BRANCH_UUID, CompareOp.EQ, String.valueOf(goodBranch));
+      DslAsserts.assertEquals(iterator2.next(), MatchField.BRANCH_UUID, CompareOp.EQ, goodBranch.getIdString());
 
       Assert.assertEquals(1, compoundCondition.getOperators().size());
       Assert.assertEquals(XLogicOperator.OR, compoundCondition.getOperators().iterator().next());
@@ -256,11 +241,11 @@
       return createProxy(artGuid, artifactName, randomBranch, "dummy");
    }
 
-   private static ArtifactProxy createProxy(final String artGuid, final String artifactName, BranchId branch, final String branchName) {
+   private static ArtifactProxy createProxy(final String artGuid, final String artifactName, BranchToken branch, final String branchName) {
       return new ArtifactProxy() {
 
          @Override
-         public BranchId getBranch() {
+         public BranchToken getBranch() {
             return branch;
          }
 
diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockArtifactProxy.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockArtifactProxy.java
index 9b3c8ff..527ef6d 100644
--- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockArtifactProxy.java
+++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/mocks/MockArtifactProxy.java
@@ -17,7 +17,6 @@
 import java.util.Collections;
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
 import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
 import org.eclipse.osee.framework.core.dsl.integration.ArtifactDataProvider.ArtifactProxy;
@@ -81,7 +80,7 @@
    }
 
    @Override
-   public BranchId getBranch() {
+   public BranchToken getBranch() {
       return artifactObject.getBranch();
    }
 
diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/util/DslUtilTestSuite.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/util/DslUtilTestSuite.java
index 13676ea..9a05037 100644
--- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/util/DslUtilTestSuite.java
+++ b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/util/DslUtilTestSuite.java
@@ -20,7 +20,7 @@
  * @author Roberto E. Escobar
  */
 @RunWith(Suite.class)
-@Suite.SuiteClasses({ModelUtilTest.class, OseeDslSegmentParserTest.class})
+@Suite.SuiteClasses({OseeDslSegmentParserTest.class})
 public class DslUtilTestSuite {
    // Test Suite
 }
diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/util/ModelUtilTest.java b/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/util/ModelUtilTest.java
deleted file mode 100644
index c0a3bb6..0000000
--- a/plugins/org.eclipse.osee.framework.core.dsl.integration.test/src/org/eclipse/osee/framework/core/dsl/integration/util/ModelUtilTest.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*********************************************************************
- * Copyright (c) 2004, 2007 Boeing
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     Boeing - initial API and implementation
- **********************************************************************/
-
-package org.eclipse.osee.framework.core.dsl.integration.util;
-
-import java.io.ByteArrayOutputStream;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.osee.framework.core.dsl.OseeDslResourceUtil;
-import org.eclipse.osee.framework.core.dsl.integration.mocks.DslAsserts;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessContext;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessPermissionEnum;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.ArtifactTypeRestriction;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.AttributeTypeRestriction;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.CompareOp;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.HierarchyRestriction;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.MatchField;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.ObjectRestriction;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDsl;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationMultiplicityEnum;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.RelationTypeRestriction;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactMatcher;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactType;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.XAttributeType;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.XRelationSideEnum;
-import org.eclipse.osee.framework.core.dsl.oseeDsl.XRelationType;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Test Case for {@link ModelUtil}
- *
- * @author Roberto E. Escobar
- */
-public class ModelUtilTest {
-
-   private static final String TYPE_TEST_INPUT = "testTypeModel.osee";
-   private static final String ACCESS_TEST_INPUT = "testAccessModel.osee";
-
-   @Test
-   public void testModelUtilLoadType() throws Exception {
-      String rawXTextData = Lib.fileToString(getClass(), TYPE_TEST_INPUT);
-
-      OseeDsl model1 = OseeDslResourceUtil.loadModel("osee:/text.osee", rawXTextData).getModel();
-
-      Assert.assertEquals(5, model1.getArtifactTypes().size());
-      Iterator<XArtifactType> type1 = model1.getArtifactTypes().iterator();
-      // @formatter:off
-      DslAsserts.assertEquals(type1.next(), "Artifact", "1", new String[0], "Name", "Annotation");
-      DslAsserts.assertEquals(type1.next(), "Requirement", "21", new String[] {"Artifact"}, "WordML");
-      DslAsserts.assertEquals(type1.next(), "Software Requirement", "24", new String[] {"Requirement"});
-      DslAsserts.assertEquals(type1.next(), "System Requirement", "30", new String[] {"Requirement"});
-      DslAsserts.assertEquals(type1.next(), "SubSystem Requirement", "29", new String[] {"Requirement"});
-      // @formatter:on
-
-      Assert.assertEquals(3, model1.getAttributeTypes().size());
-      Iterator<XAttributeType> type2 = model1.getAttributeTypes().iterator();
-      DslAsserts.assertEquals(type2.next(), "Name", "1152921504606847088", "StringAttribute",
-         "DefaultAttributeDataProvider", "1", "1", "DefaultAttributeTaggerProvider", //
-         "Descriptive Name", "unnamed", null);
-      DslAsserts.assertEquals(type2.next(), "Annotation", "1152921504606847094", "CompressedContentAttribute",
-         "UriAttributeDataProvider", "0", "unlimited", "DefaultAttributeTaggerProvider", //
-         "the version \'1.0\' is this \"1.2.0\"", null, null);
-      DslAsserts.assertEquals(type2.next(), "WordML", "1152921504606847098", "WordAttribute",
-         "UriAttributeDataProvider", "0", "1", "XmlAttributeTaggerProvider", "value must comply with WordML xml schema",
-         "<w:p xmlns:w=\"http://schemas.microsoft.com/office/word/2003/wordml\"><w:r><w:t></w:t></w:r></w:p>", "xml");
-
-      Assert.assertEquals(1, model1.getRelationTypes().size());
-      Iterator<XRelationType> type3 = model1.getRelationTypes().iterator();
-      DslAsserts.assertEquals(type3.next(), "Requirement Relation", "2305843009213694295", "requirement-sideA",
-         "Requirement", "21", "subsystem-sideB", "SubSystem Requirement", "29", "Lexicographical_Ascending",
-         RelationMultiplicityEnum.ONE_TO_MANY);
-
-      ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-      OseeDslResourceUtil.saveModel(model1, "osee:/text.osee", outputStream, false);
-      outputStream.flush();
-      String value = outputStream.toString("UTF-8");
-      modelEquals(rawXTextData, value);
-
-      OseeDsl model2 = OseeDslResourceUtil.loadModel("osee:/text2.osee", value).getModel();
-      DslAsserts.assertEquals(model1, model2);
-   }
-
-   @Test
-   public void testModelUtilLoadAccess() throws Exception {
-      String rawXTextData = Lib.fileToString(getClass(), ACCESS_TEST_INPUT);
-
-      OseeDsl model1 = OseeDslResourceUtil.loadModel("osee:/text.osee", rawXTextData).getModel();
-      Assert.assertEquals(2, model1.getArtifactTypes().size());
-      Iterator<XArtifactType> type1 = model1.getArtifactTypes().iterator();
-      DslAsserts.assertEquals(type1.next(), "Artifact", "1", new String[0]);
-      DslAsserts.assertEquals(type1.next(), "Software Requirement", "2", new String[] {"Artifact"});
-
-      Assert.assertEquals(1, model1.getAttributeTypes().size());
-      Iterator<XAttributeType> type2 = model1.getAttributeTypes().iterator();
-      DslAsserts.assertEquals(type2.next(), "Qualification Method", "1152921504606847062", "StringAttribute",
-         "DefaultAttributeDataProvider", "0", "1", null, null, "test", null);
-
-      Assert.assertEquals(1, model1.getRelationTypes().size());
-      Iterator<XRelationType> type3 = model1.getRelationTypes().iterator();
-      DslAsserts.assertEquals(type3.next(), "Requirement Relation", "2305843009213694307", "requirement-sideA",
-         "Software Requirement", "2", "artifact-sideB", "Artifact", "1", "Lexicographical_Ascending",
-         RelationMultiplicityEnum.ONE_TO_MANY);
-
-      Assert.assertEquals(3, model1.getArtifactMatchRefs().size());
-      Iterator<XArtifactMatcher> type4 = model1.getArtifactMatchRefs().iterator();
-      // @formatter:off
-      XArtifactMatcher matcher = type4.next();
-      DslAsserts.assertEquals(matcher, "Software Items");
-      DslAsserts.assertEquals(matcher.getConditions().get(0), MatchField.ARTIFACT_ID, CompareOp.EQ, "AAMFEcWy0xc4e3tcem99");
-      matcher = type4.next();
-      DslAsserts.assertEquals(matcher, "Systems");
-      DslAsserts.assertEquals(matcher.getConditions().get(0), MatchField.BRANCH_NAME, CompareOp.LIKE, "\\w+");
-      matcher = type4.next();
-      DslAsserts.assertEquals(matcher, "SubSystems");
-      DslAsserts.assertEquals(matcher.getConditions().get(0), MatchField.ARTIFACT_NAME, CompareOp.EQ, "xx");
-      // @formatter:on
-
-      Assert.assertEquals(2, model1.getAccessDeclarations().size());
-      Iterator<AccessContext> type5 = model1.getAccessDeclarations().iterator();
-      AccessContext context1 = type5.next();
-      DslAsserts.assertEquals(context1, "System Context", 676767676L, new String[0]);
-      List<ObjectRestriction> restrictions1 = context1.getAccessRules();
-      Assert.assertEquals(1, restrictions1.size());
-      DslAsserts.assertEquals((ArtifactTypeRestriction) restrictions1.iterator().next(), AccessPermissionEnum.DENY,
-         "Artifact");
-
-      List<HierarchyRestriction> hierarchy1 = context1.getHierarchyRestrictions();
-      Assert.assertEquals(3, hierarchy1.size());
-
-      Iterator<HierarchyRestriction> heirar = hierarchy1.iterator();
-      DslAsserts.assertEquals(heirar.next(), "Software Items");
-      DslAsserts.assertEquals(heirar.next(), "Systems");
-      DslAsserts.assertEquals(heirar.next(), "SubSystems");
-
-      AccessContext context2 = type5.next();
-      DslAsserts.assertEquals(context2, "subsystem.requirement.writer", 89898989898L, new String[] {"System Context"});
-      List<ObjectRestriction> restrictions2 = context2.getAccessRules();
-      Assert.assertEquals(4, restrictions2.size());
-      Iterator<ObjectRestriction> restIt = restrictions2.iterator();
-      // @formatter:off
-      DslAsserts.assertEquals((AttributeTypeRestriction) restIt.next(), AccessPermissionEnum.DENY, "Qualification Method", "Software Requirement");
-      DslAsserts.assertEquals((AttributeTypeRestriction) restIt.next(), AccessPermissionEnum.ALLOW, "Qualification Method", "Software Requirement");
-      DslAsserts.assertEquals((AttributeTypeRestriction) restIt.next(), AccessPermissionEnum.ALLOW, "Qualification Method", "Software Requirement");
-      DslAsserts.assertEquals((RelationTypeRestriction) restIt.next(), AccessPermissionEnum.DENY, "Requirement Relation", XRelationSideEnum.SIDE_A);
-
-      // @formatter:on
-
-      ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-      OseeDslResourceUtil.saveModel(model1, "osee:/text.osee", outputStream, false);
-      outputStream.flush();
-      String value = outputStream.toString("UTF-8");
-      modelEquals(rawXTextData, value);
-
-      OseeDsl model2 = OseeDslResourceUtil.loadModel("osee:/text2.osee", value).getModel();
-      DslAsserts.assertEquals(model1, model2);
-   }
-
-   private static void modelEquals(String rawExpected, String actual) {
-      String expected = rawExpected.replaceAll("[\r\n]", "");
-      String actualactual = actual.replaceAll("[\r\n]", "");
-      Assert.assertEquals(expected, actualactual);
-   }
-}
diff --git a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/util/OseeDslSegmentParser.java b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/util/OseeDslSegmentParser.java
index e936c92..41a414e 100644
--- a/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/util/OseeDslSegmentParser.java
+++ b/plugins/org.eclipse.osee.framework.core.dsl.integration/src/org/eclipse/osee/framework/core/dsl/integration/util/OseeDslSegmentParser.java
@@ -20,8 +20,8 @@
 import java.util.regex.Pattern;
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.BranchId;
-import org.eclipse.osee.framework.core.data.HasBranch;
 import org.eclipse.osee.framework.core.data.BranchToken;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 import org.eclipse.osee.framework.jdk.core.type.OseeStateException;
 import org.eclipse.osee.framework.jdk.core.util.Conditions;
 import org.eclipse.osee.framework.jdk.core.util.Strings;
@@ -150,7 +150,7 @@
 
    }
 
-   public static final class OseeDslSegment implements HasBranch {
+   public static final class OseeDslSegment implements HasBranchId {
       private final BranchId branch;
       private final String artifactGuid;
       private final int start;
diff --git a/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataProviderImpl.java b/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataProviderImpl.java
index 42b4de5..8785b74 100644
--- a/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataProviderImpl.java
+++ b/plugins/org.eclipse.osee.framework.core.dsl.ui.integration/src/org/eclipse/osee/framework/core/dsl/ui/integration/internal/ArtifactDataProviderImpl.java
@@ -123,7 +123,7 @@
       }
 
       @Override
-      public BranchId getBranch() {
+      public BranchToken getBranch() {
          return self.getBranch();
       }
 
diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/TransactionRecord.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/TransactionRecord.java
index 42115d5..3532293 100644
--- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/TransactionRecord.java
+++ b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/TransactionRecord.java
@@ -17,6 +17,7 @@
 import org.eclipse.osee.framework.core.data.Adaptable;
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.TransactionToken;
 import org.eclipse.osee.framework.core.data.UserId;
 import org.eclipse.osee.framework.core.enums.TransactionDetailsType;
@@ -28,7 +29,7 @@
  * @author Jeff C. Phillips
  */
 public class TransactionRecord extends BaseId implements TransactionToken, Adaptable {
-   public static TransactionRecord SENTINEL = new TransactionRecord(Id.SENTINEL, BranchId.SENTINEL, null, null,
+   public static TransactionRecord SENTINEL = new TransactionRecord(Id.SENTINEL, BranchToken.SENTINEL, null, null,
       UserId.SENTINEL, ArtifactId.SENTINEL, TransactionDetailsType.INVALID, 0L);
    private final TransactionDetailsType txType;
    private final BranchId branch;
diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/DefaultBasicGuidArtifact.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/DefaultBasicGuidArtifact.java
index c756485..63d3772 100644
--- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/DefaultBasicGuidArtifact.java
+++ b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/DefaultBasicGuidArtifact.java
@@ -16,14 +16,14 @@
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 import org.eclipse.osee.framework.jdk.core.type.BaseIdentity;
 import org.eclipse.osee.framework.jdk.core.util.GUID;
 
 /**
  * @author Donald G. Dunne
  */
-public class DefaultBasicGuidArtifact extends BaseIdentity<String> implements HasBranch {
+public class DefaultBasicGuidArtifact extends BaseIdentity<String> implements HasBranchId {
    private final BranchId branch;
    private ArtifactTypeToken artifactType;
 
diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/IBasicGuidRelation.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/IBasicGuidRelation.java
index 76a8d6a..2da82b4 100644
--- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/IBasicGuidRelation.java
+++ b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/IBasicGuidRelation.java
@@ -14,12 +14,12 @@
 package org.eclipse.osee.framework.core.model.event;
 
 import org.eclipse.osee.framework.core.data.GammaId;
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 
 /**
  * @author Donald G. Dunne
  */
-public interface IBasicGuidRelation extends HasBranch {
+public interface IBasicGuidRelation extends HasBranchId {
 
    DefaultBasicGuidArtifact getArtA();
 
diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/IBasicRelationReorder.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/IBasicRelationReorder.java
index cf8003a..5962255 100644
--- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/IBasicRelationReorder.java
+++ b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/event/IBasicRelationReorder.java
@@ -13,12 +13,12 @@
 
 package org.eclipse.osee.framework.core.model.event;
 
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 
 /**
  * @author Donald G. Dunne
  */
-public interface IBasicRelationReorder extends HasBranch {
+public interface IBasicRelationReorder extends HasBranchId {
 
    DefaultBasicGuidArtifact getParentArt();
 
diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java
index c7a1c81..dcb8806 100644
--- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java
+++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/ArtifactToken.java
@@ -130,8 +130,8 @@
       }
 
       @Override
-      public BranchId getBranch() {
-         return branch;
+      public BranchToken getBranch() {
+         return BranchToken.create(branch, "unknown");
       }
 
       @Override
diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/HasBranch.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/HasBranch.java
index fdc39d8..0acb1aa 100644
--- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/HasBranch.java
+++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/HasBranch.java
@@ -16,10 +16,12 @@
 /**
  * @author Roberto E. Escobar
  */
-public interface HasBranch {
+public interface HasBranch extends HasBranchId {
 
-   BranchId getBranch();
+   @Override
+   BranchToken getBranch();
 
+   @Override
    default String getBranchIdString() {
       return getBranch().getIdString();
    }
@@ -28,6 +30,7 @@
       return other == null ? false : getBranch().equals(other.getBranch());
    }
 
+   @Override
    default boolean isOnBranch(BranchId branch) {
       return getBranch().equals(branch);
    }
diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/HasBranchId.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/HasBranchId.java
new file mode 100644
index 0000000..a7f8fc9
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/HasBranchId.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2021 Boeing.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *     Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.core.data;
+
+/**
+ * @author Donald G. Dunne
+ */
+public interface HasBranchId {
+
+   BranchId getBranch();
+
+   default String getBranchIdString() {
+      return getBranch().getIdString();
+   }
+
+   default boolean isOnSameBranch(HasBranchId other) {
+      return other == null ? false : getBranch().equals(other.getBranch());
+   }
+
+   default boolean isOnBranch(BranchId branch) {
+      return getBranch().equals(branch);
+   }
+}
diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/TransactionToken.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/TransactionToken.java
index 8be0fdb..b62e360 100644
--- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/TransactionToken.java
+++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/TransactionToken.java
@@ -19,7 +19,7 @@
 /**
  * @author Ryan D. Brooks
  */
-public interface TransactionToken extends TransactionId, HasBranch {
+public interface TransactionToken extends TransactionId, HasBranchId {
    TransactionToken SENTINEL = valueOf(Id.SENTINEL, BranchId.SENTINEL);
 
    public static TransactionToken valueOf(TransactionId id, BranchId branch) {
diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/UserToken.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/UserToken.java
index e84ecbf..4f14dad 100644
--- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/UserToken.java
+++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/UserToken.java
@@ -120,7 +120,7 @@
       }
 
       @Override
-      public BranchId getBranch() {
+      public BranchToken getBranch() {
          return CoreBranches.COMMON;
       }
 
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/OseeSystemArtifacts.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/OseeSystemArtifacts.java
index 4719a1a..5de4114 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/OseeSystemArtifacts.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/OseeSystemArtifacts.java
@@ -16,6 +16,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTokens;
 import org.eclipse.osee.framework.core.exception.ArtifactDoesNotExist;
 import org.eclipse.osee.framework.jdk.core.util.Strings;
@@ -42,24 +43,24 @@
     * @return the artifact specified by type, name, and branch from the cache if available otherwise the datastore is
     * accessed, and finally a new artifact is created if it can not be found
     */
-   public static Artifact getOrCreateArtifact(ArtifactTypeToken artifactType, String artifactName, BranchId branch) {
+   public static Artifact getOrCreateArtifact(ArtifactTypeToken artifactType, String artifactName, BranchToken branch) {
       return getOrCreateCachedArtifact(artifactType, artifactName, branch, null, true);
    }
 
-   public static Artifact getOrCreateArtifact(ArtifactToken artifactToken, BranchId branch) {
+   public static Artifact getOrCreateArtifact(ArtifactToken artifactToken, BranchToken branch) {
       return getOrCreateCachedArtifact(artifactToken.getArtifactType(), artifactToken.getName(), branch,
          artifactToken.getGuid(), artifactToken.getUuid(), true);
    }
 
-   public static Artifact getCachedArtifact(ArtifactTypeToken artifactType, String artifactName, BranchId branch) {
+   public static Artifact getCachedArtifact(ArtifactTypeToken artifactType, String artifactName, BranchToken branch) {
       return getOrCreateCachedArtifact(artifactType, artifactName, branch, null, false);
    }
 
-   private static Artifact getOrCreateCachedArtifact(ArtifactTypeToken artifactType, String artifactName, BranchId branch, String guid, boolean create) {
+   private static Artifact getOrCreateCachedArtifact(ArtifactTypeToken artifactType, String artifactName, BranchToken branch, String guid, boolean create) {
       return getOrCreateCachedArtifact(artifactType, artifactName, branch, guid, null, create);
    }
 
-   private static Artifact getOrCreateCachedArtifact(ArtifactTypeToken artifactType, String artifactName, BranchId branch, String guid, Long uuid, boolean create) {
+   private static Artifact getOrCreateCachedArtifact(ArtifactTypeToken artifactType, String artifactName, BranchToken branch, String guid, Long uuid, boolean create) {
       Artifact artifact = ArtifactQuery.checkArtifactFromTypeAndName(artifactType, artifactName, branch);
       if (artifact == null && create) {
          if (Strings.isValid(guid) && uuid != null && uuid > 0) {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/User.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/User.java
index f61855c..2a39ad1 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/User.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/User.java
@@ -19,6 +19,7 @@
 import java.util.HashSet;
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.UserToken;
 import org.eclipse.osee.framework.core.enums.BranchArchivedState;
 import org.eclipse.osee.framework.core.enums.BranchType;
@@ -41,11 +42,11 @@
 public class User extends Artifact implements UserToken {
    private PropertyStore userSettings;
 
-   public User(Long id, String guid, BranchId branch) {
+   public User(Long id, String guid, BranchToken branch) {
       super(id, guid, branch, CoreArtifactTypes.User);
    }
 
-   public User(BranchId branch) {
+   public User(BranchToken branch) {
       super(branch, CoreArtifactTypes.User);
    }
 
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupImpl.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupImpl.java
index cee17f3..8211744 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupImpl.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/access/UserGroupImpl.java
@@ -18,7 +18,7 @@
 import java.util.Collection;
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.UserId;
 import org.eclipse.osee.framework.core.data.UserToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTokens;
@@ -107,7 +107,7 @@
       return getArtifact();
    }
 
-   private Artifact getOrCreateUserGroupsFolder(BranchId branch) {
+   private Artifact getOrCreateUserGroupsFolder(BranchToken branch) {
       SkynetTransaction tx = TransactionManager.createTransaction(CoreBranches.COMMON, "Create UserGroups Folder");
       Artifact usersGroupFolder = ArtifactQuery.checkArtifactFromId(CoreArtifactTokens.UserGroups, branch);
       if (usersGroupFolder == null) {
@@ -142,7 +142,7 @@
    }
 
    @Override
-   public BranchId getBranch() {
+   public BranchToken getBranch() {
       return groupArtifact.getBranch();
    }
 
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java
index 9fd1fdb..b92a3a2 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/Artifact.java
@@ -40,10 +40,9 @@
 import org.eclipse.osee.framework.core.data.AttributeTypeGeneric;
 import org.eclipse.osee.framework.core.data.AttributeTypeId;
 import org.eclipse.osee.framework.core.data.AttributeTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.GammaId;
 import org.eclipse.osee.framework.core.data.HasBranch;
-import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationTypeSide;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
 import org.eclipse.osee.framework.core.data.TransactionId;
@@ -109,7 +108,7 @@
    public static final String AFTER_GUID_STRING = "/AfterGUID";
    private final HashCollection<AttributeTypeId, Attribute<?>> attributes = new HashCollection<>(true);
    private final Set<DefaultBasicUuidRelationReorder> relationOrderRecords = new HashSet<>();
-   private final BranchId branch;
+   private final BranchToken branch;
    private TransactionToken transaction = TransactionToken.SENTINEL;
    private GammaId gammaId;
    private boolean linksLoaded;
@@ -123,15 +122,15 @@
 
    private final String guid;
 
-   public Artifact(String guid, BranchId branch, ArtifactTypeToken artifactTypeId) {
+   public Artifact(String guid, BranchToken branch, ArtifactTypeToken artifactTypeId) {
       this(Lib.generateArtifactIdAsInt(), guid, branch, artifactTypeId);
    }
 
-   public Artifact(Long id, BranchId branch, ArtifactTypeToken artifactTypeId) {
+   public Artifact(Long id, BranchToken branch, ArtifactTypeToken artifactTypeId) {
       this(id, null, branch, artifactTypeId);
    }
 
-   public Artifact(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType) {
+   public Artifact(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType) {
       super(id, null);
       this.guid = GUID.checkOrCreate(guid);
       this.artifactType = artifactType;
@@ -141,24 +140,24 @@
       this.branch = branch;
    }
 
-   public Artifact(BranchId branch, ArtifactTypeToken artifactType, String name) {
+   public Artifact(BranchToken branch, ArtifactTypeToken artifactType, String name) {
       this((String) null, branch, artifactType);
       setName(name);
    }
 
-   public Artifact(BranchId branch) {
+   public Artifact(BranchToken branch) {
       this(branch, Artifact);
    }
 
-   public Artifact(BranchId branch, String name) {
+   public Artifact(BranchToken branch, String name) {
       this(branch, Artifact, name);
    }
 
-   public Artifact(BranchId branch, ArtifactTypeToken artifactType) {
+   public Artifact(BranchToken branch, ArtifactTypeToken artifactType) {
       this((String) null, branch, artifactType);
    }
 
-   public Artifact(Long id, BranchId branch) {
+   public Artifact(Long id, BranchToken branch) {
       this(id, null, branch, Artifact);
    }
 
@@ -268,7 +267,7 @@
    }
 
    @Override
-   public final BranchId getBranch() {
+   public final BranchToken getBranch() {
       return branch;
    }
 
@@ -1485,15 +1484,15 @@
    /**
     * Creates a new artifact and duplicates all of its attribute data.
     */
-   public final Artifact duplicate(BranchId branch) {
+   public final Artifact duplicate(BranchToken branch) {
       return duplicate(branch, new ArrayList<AttributeTypeId>());
    }
 
-   public final Artifact duplicate(BranchId branch, Collection<AttributeTypeId> excludeAttributeTypes) {
+   public final Artifact duplicate(BranchToken branch, Collection<AttributeTypeId> excludeAttributeTypes) {
       return duplicate(branch, getArtifactType(), excludeAttributeTypes);
    }
 
-   public final Artifact duplicate(BranchId branch, ArtifactTypeToken newType, Collection<AttributeTypeId> excludeAttributeTypes) {
+   public final Artifact duplicate(BranchToken branch, ArtifactTypeToken newType, Collection<AttributeTypeId> excludeAttributeTypes) {
       Artifact newArtifact = ArtifactTypeManager.addArtifact(newType, branch);
       // we do this because attributes were added on creation to meet the
       // minimum attribute requirements
@@ -1525,11 +1524,11 @@
     *
     * @return the newly created artifact or this artifact if the destinationBranch is this artifact's branch
     */
-   public final Artifact reflect(BranchId destinationBranch) {
+   public final Artifact reflect(BranchToken destinationBranch) {
       return new IntroduceArtifactOperation(destinationBranch).introduce(this);
    }
 
-   Artifact introduceShallowArtifact(BranchId destinationBranch) {
+   Artifact introduceShallowArtifact(BranchToken destinationBranch) {
       Artifact shallowArt = ArtifactTypeManager.getFactory(artifactType).reflectExisitingArtifact(this, getGuid(),
          getArtifactType(), gammaId, destinationBranch, modType, applicabilityId);
       return shallowArt;
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java
index 1f30b8e..9fa8ae5 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java
@@ -21,7 +21,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.ArtifactTypeId;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.GammaId;
 import org.eclipse.osee.framework.core.data.OseeData;
 import org.eclipse.osee.framework.core.data.TransactionToken;
@@ -47,11 +47,11 @@
    /**
     * Used to create a new artifact (one that has never been saved into the datastore)
     */
-   public Artifact makeNewArtifact(BranchId branch, ArtifactTypeToken artifactTypeId, String artifactName, String guid) {
+   public Artifact makeNewArtifact(BranchToken branch, ArtifactTypeToken artifactTypeId, String artifactName, String guid) {
       return makeNewArtifact(branch, artifactTypeId, artifactName, guid, null);
    }
 
-   public Artifact makeNewArtifact(BranchId branch, ArtifactTypeToken artifactTypeId, String artifactName, String guid, Long uuid) {
+   public Artifact makeNewArtifact(BranchToken branch, ArtifactTypeToken artifactTypeId, String artifactName, String guid, Long uuid) {
       if (guid == null) {
          guid = GUID.create();
       } else {
@@ -76,7 +76,7 @@
       return uuid == null ? ConnectionHandler.getNextSequence(OseeData.ART_ID_SEQ, true) : uuid;
    }
 
-   public synchronized Artifact reflectExisitingArtifact(ArtifactId artId, String guid, ArtifactTypeToken artifactType, GammaId gammaId, BranchId branch, ModificationType modificationType, ApplicabilityId applicabilityId) {
+   public synchronized Artifact reflectExisitingArtifact(ArtifactId artId, String guid, ArtifactTypeToken artifactType, GammaId gammaId, BranchToken branch, ModificationType modificationType, ApplicabilityId applicabilityId) {
       Artifact toReturn = internalExistingArtifact(artId, guid, artifactType, gammaId, branch, modificationType,
          applicabilityId, false, TransactionToken.SENTINEL, true);
       ArtifactCache.cache(toReturn);
@@ -86,7 +86,7 @@
    /**
     * This method does not cache the artifact, ArtifactLoader will cache existing artifacts
     */
-   private Artifact internalExistingArtifact(ArtifactId artId, String guid, ArtifactTypeToken artifactType, GammaId gammaId, BranchId branch, ModificationType modType, ApplicabilityId applicabilityId, boolean historical, TransactionToken transactionId, boolean useBackingData) {
+   private Artifact internalExistingArtifact(ArtifactId artId, String guid, ArtifactTypeToken artifactType, GammaId gammaId, BranchToken branch, ModificationType modType, ApplicabilityId applicabilityId, boolean historical, TransactionToken transactionId, boolean useBackingData) {
       Artifact artifact = getArtifactInstance(artId.getId(), guid, branch, artifactType, true);
 
       artifact.internalSetPersistenceData(gammaId, transactionId, modType, applicabilityId, historical, useBackingData);
@@ -97,7 +97,7 @@
    /**
     * This method does not cache the artifact, ArtifactLoader will cache existing artifacts
     */
-   public synchronized Artifact loadExisitingArtifact(ArtifactId artId, String guid, ArtifactTypeToken artifactType, GammaId gammaId, BranchId branch, TransactionToken transactionId, ModificationType modType, ApplicabilityId applicabilityId, boolean historical) {
+   public synchronized Artifact loadExisitingArtifact(ArtifactId artId, String guid, ArtifactTypeToken artifactType, GammaId gammaId, BranchToken branch, TransactionToken transactionId, ModificationType modType, ApplicabilityId applicabilityId, boolean historical) {
       return internalExistingArtifact(artId, guid, artifactType, gammaId, branch, modType, applicabilityId, historical,
          transactionId, false);
    }
@@ -108,7 +108,7 @@
     * this method is used by the persistence manager when it needs a new instance of the class to work with and can not
     * come up with it on its own.
     */
-   protected abstract Artifact getArtifactInstance(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType, boolean inDataStore);
+   protected abstract Artifact getArtifactInstance(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType, boolean inDataStore);
 
    @Override
    public String toString() {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactLoader.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactLoader.java
index b1745d4..48d0721 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactLoader.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactLoader.java
@@ -31,6 +31,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.GammaId;
 import org.eclipse.osee.framework.core.data.TransactionId;
 import org.eclipse.osee.framework.core.data.TransactionToken;
@@ -303,7 +304,8 @@
     */
    private static Artifact retrieveShallowArtifact(JdbcStatement chStmt, LoadType reload, boolean historical, boolean isArchived) {
       ArtifactId artifactId = ArtifactId.valueOf(chStmt.getLong("id2"));
-      BranchId branch = BranchId.create(chStmt.getLong("branch_id"), ArtifactId.valueOf(chStmt.getLong("id4")));
+      BranchId branchId = BranchId.create(chStmt.getLong("branch_id"), ArtifactId.valueOf(chStmt.getLong("id4")));
+      BranchToken branch = BranchManager.getBranchToken(branchId);
 
       TransactionToken transactionId = TransactionToken.SENTINEL;
       ApplicabilityId appId = ApplicabilityId.valueOf(chStmt.getLong("app_id"));
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactTypeManager.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactTypeManager.java
index fa1a303..50b442c 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactTypeManager.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactTypeManager.java
@@ -24,6 +24,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactTypeId;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.DeletionFlag;
 import org.eclipse.osee.framework.core.model.cache.BranchFilter;
@@ -57,34 +58,34 @@
    /**
     * Get a new instance of type artifactTypeName
     */
-   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchId branch) {
+   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchToken branch) {
       return addArtifact(artifactType, branch, null, null, null);
    }
 
    /**
     * Get a new instance of type artifactTypeName and set it's name.
     */
-   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchId branch, String name) {
+   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchToken branch, String name) {
       return addArtifact(artifactType, branch, name, null, null);
    }
 
-   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchId branch, String name, Long artifactId) {
+   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchToken branch, String name, Long artifactId) {
       return addArtifact(artifactType, branch, name, null, artifactId);
    }
 
-   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchId branch, String name, ArtifactId artifact) {
+   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchToken branch, String name, ArtifactId artifact) {
       return addArtifact(artifactType, branch, name, null, artifact.getId());
    }
 
-   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchId branch, String name, String guid) {
+   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchToken branch, String name, String guid) {
       return getFactory(artifactType).makeNewArtifact(branch, artifactType, name, guid);
    }
 
-   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchId branch, String name, String guid, Long uuid) {
+   public static Artifact addArtifact(ArtifactTypeToken artifactType, BranchToken branch, String name, String guid, Long uuid) {
       return getFactory(artifactType).makeNewArtifact(branch, artifactType, name, guid, uuid);
    }
 
-   public static Artifact addArtifact(ArtifactToken artifactToken, BranchId branch) {
+   public static Artifact addArtifact(ArtifactToken artifactToken, BranchToken branch) {
       return addArtifact(artifactToken.getArtifactType(), branch, artifactToken.getName(), artifactToken.getGuid(),
          artifactToken.getId());
    }
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/BranchManager.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/BranchManager.java
index 83ee558..13e908c 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/BranchManager.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/BranchManager.java
@@ -92,7 +92,7 @@
    private static final String LAST_DEFAULT_BRANCH = "LastDefaultBranchUuid";
    public static final String COMMIT_COMMENT = "Commit Branch ";
    private static final String SELECT_BRANCH_BY_NAME = "select * from osee_branch where branch_name = ?";
-   private static BranchId lastBranch;
+   private static BranchToken lastBranch;
 
    private BranchManager() {
       // this private empty constructor exists to prevent the default constructor from allowing public construction
@@ -519,20 +519,20 @@
       return createBranch(BranchType.WORKING, parentTransaction, BranchToken.create(branchName), associatedArtifact);
    }
 
-   public static BranchId createBaselineBranch(BranchId parentBranch, BranchToken childBranch) {
+   public static BranchToken createBaselineBranch(BranchToken parentBranch, BranchToken childBranch) {
       return createBaselineBranch(parentBranch, childBranch, ArtifactId.SENTINEL);
    }
 
-   public static BranchId createTopLevelBranch(BranchToken branch) {
+   public static BranchToken createTopLevelBranch(BranchToken branch) {
       return createBaselineBranch(SYSTEM_ROOT, branch, ArtifactId.SENTINEL);
    }
 
-   private static BranchId createBaselineBranch(BranchId parentBranch, BranchToken childBranch, ArtifactId associatedArtifact) {
+   private static BranchToken createBaselineBranch(BranchToken parentBranch, BranchToken childBranch, ArtifactId associatedArtifact) {
       TransactionToken parentTransaction = TransactionManager.getHeadTransaction(parentBranch);
       return createBranch(BranchType.BASELINE, parentTransaction, childBranch, associatedArtifact);
    }
 
-   public static BranchId createTopLevelBranch(final String branchName) {
+   public static BranchToken createTopLevelBranch(final String branchName) {
       return createTopLevelBranch(BranchToken.create(branchName));
    }
 
@@ -581,7 +581,7 @@
       return COMMON;
    }
 
-   public static BranchId getLastBranch() {
+   public static BranchToken getLastBranch() {
       if (lastBranch == null) {
          try {
             lastBranch = getBranchToken(BranchId.valueOf(UserManager.getSetting(LAST_DEFAULT_BRANCH)));
@@ -597,7 +597,7 @@
       return lastBranch;
    }
 
-   public static void setLastBranch(BranchId branch) {
+   public static void setLastBranch(BranchToken branch) {
       lastBranch = branch;
    }
 
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/IntroduceArtifactOperation.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/IntroduceArtifactOperation.java
index d9ec01c..528b404 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/IntroduceArtifactOperation.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/IntroduceArtifactOperation.java
@@ -20,7 +20,7 @@
 import java.util.logging.Level;
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.ArtifactToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.DeletionFlag;
 import org.eclipse.osee.framework.core.enums.ModificationType;
 import org.eclipse.osee.framework.core.exception.MultipleArtifactsExist;
@@ -38,11 +38,11 @@
  */
 public class IntroduceArtifactOperation {
    private final Artifact fosterParent;
-   private final BranchId destinationBranch;
+   private final BranchToken destinationBranch;
    private Collection<Artifact> sourceArtifacts;
    private List<Artifact> destinationArtifacts;
 
-   public IntroduceArtifactOperation(BranchId destinationBranch) {
+   public IntroduceArtifactOperation(BranchToken destinationBranch) {
       this(OseeSystemArtifacts.getDefaultHierarchyRootArtifact(destinationBranch));
    }
 
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/UniversalGroup.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/UniversalGroup.java
index 16c4d29..e49844b 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/UniversalGroup.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/UniversalGroup.java
@@ -20,6 +20,7 @@
 import java.util.logging.Level;
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTokens;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
@@ -66,7 +67,7 @@
       return new ArrayList<>();
    }
 
-   public static Artifact getGroupOrNull(ArtifactToken groupToken, BranchId branch) {
+   public static Artifact getGroupOrNull(ArtifactToken groupToken, BranchToken branch) {
       try {
          return ArtifactQuery.getArtifactFromId(groupToken, branch);
       } catch (ArtifactDoesNotExist ex) {
@@ -75,7 +76,7 @@
       return null;
    }
 
-   public static Artifact addGroup(String name, BranchId branch, SkynetTransaction transaction) {
+   public static Artifact addGroup(String name, BranchToken branch, SkynetTransaction transaction) {
       if (!getGroups(name, branch).isEmpty()) {
          throw new OseeArgumentException("Group Already Exists");
       }
@@ -90,7 +91,7 @@
       return groupArt;
    }
 
-   public static Artifact addGroup(ArtifactToken groupToken, BranchId branch, SkynetTransaction transaction) {
+   public static Artifact addGroup(ArtifactToken groupToken, BranchToken branch, SkynetTransaction transaction) {
       if (getGroupOrNull(groupToken, branch) != null) {
          throw new OseeArgumentException("Group Already Exists");
       }
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/factory/DefaultArtifactFactory.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/factory/DefaultArtifactFactory.java
index 3a4f608..c4b3553 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/factory/DefaultArtifactFactory.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/factory/DefaultArtifactFactory.java
@@ -14,7 +14,7 @@
 package org.eclipse.osee.framework.skynet.core.artifact.factory;
 
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory;
@@ -28,7 +28,7 @@
 public final class DefaultArtifactFactory extends ArtifactFactory {
 
    @Override
-   public Artifact getArtifactInstance(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType, boolean inDataStore) {
+   public Artifact getArtifactInstance(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType, boolean inDataStore) {
       return new Artifact(id, guid, branch, artifactType);
    }
 
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/factory/UserArtifactFactory.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/factory/UserArtifactFactory.java
index 9765281..42b4775 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/factory/UserArtifactFactory.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/factory/UserArtifactFactory.java
@@ -14,7 +14,7 @@
 package org.eclipse.osee.framework.skynet.core.artifact.factory;
 
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.skynet.core.User;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
@@ -30,7 +30,7 @@
    }
 
    @Override
-   public Artifact getArtifactInstance(Long id, String guid, BranchId branch, ArtifactTypeToken artifactType, boolean inDataStore) {
+   public Artifact getArtifactInstance(Long id, String guid, BranchToken branch, ArtifactTypeToken artifactType, boolean inDataStore) {
       return new User(id, guid, branch);
    }
 
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/operation/UpdateBranchOperation.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/operation/UpdateBranchOperation.java
index ab51cd5..ca8a44f 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/operation/UpdateBranchOperation.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/operation/UpdateBranchOperation.java
@@ -87,7 +87,7 @@
          branchData.setFromBranch(fromBranch);
          branchData = branchEp.updateBranch(fromBranch, branchData); // Creates a branch server-side
          branchData.setNeedsMerge(BranchManager.hasChanges(originalBranch));
-         newBranch = BranchManager.getBranch(branchData.getNewBranchId());
+         newBranch = BranchManager.getBranchToken(branchData.getNewBranchId());
          monitor.worked(calculateWork(0.40));
 
          if (branchData.isNeedsMerge()) {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java
index 0275998..d428cd7 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/ArtifactQuery.java
@@ -39,6 +39,7 @@
 import org.eclipse.osee.framework.core.data.AttributeTypeId;
 import org.eclipse.osee.framework.core.data.AttributeTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.HasBranch;
 import org.eclipse.osee.framework.core.data.RelationTypeSide;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
@@ -578,7 +579,7 @@
       return reloadedArts;
    }
 
-   public static Artifact getOrCreate(String guid, ArtifactTypeToken type, BranchId branch) {
+   public static Artifact getOrCreate(String guid, ArtifactTypeToken type, BranchToken branch) {
       Artifact artifact = ArtifactQuery.checkArtifactFromId(guid, branch, EXCLUDE_DELETED);
 
       if (artifact == null) {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/SearchRequest.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/SearchRequest.java
index dd74f81..bcfe1f8 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/SearchRequest.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/search/SearchRequest.java
@@ -14,12 +14,12 @@
 package org.eclipse.osee.framework.skynet.core.artifact.search;
 
 import org.eclipse.osee.framework.core.data.BranchId;
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 
 /**
  * @author Roberto E. Escobar
  */
-public class SearchRequest implements HasBranch {
+public class SearchRequest implements HasBranchId {
 
    private final BranchId branch;
    private final String rawSearch;
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/change/Change.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/change/Change.java
index a350ae1..f66d0c6 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/change/Change.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/change/Change.java
@@ -18,7 +18,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
 import org.eclipse.osee.framework.core.data.GammaId;
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 import org.eclipse.osee.framework.core.enums.ModificationType;
 import org.eclipse.osee.framework.core.model.TransactionDelta;
 import org.eclipse.osee.framework.core.model.change.ChangeItem;
@@ -30,7 +30,7 @@
 /**
  * @author Jeff C. Phillips
  */
-public abstract class Change implements IAdaptable, Comparable<Change>, HasBranch {
+public abstract class Change implements IAdaptable, Comparable<Change>, HasBranchId {
    private final GammaId sourceGamma;
    private final ArtifactId artId;
    private final TransactionDelta txDelta;
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/ArtifactEvent.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/ArtifactEvent.java
index 8765980..230b5f5 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/ArtifactEvent.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/model/ArtifactEvent.java
@@ -21,7 +21,7 @@
 import java.util.logging.Level;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
 import org.eclipse.osee.framework.core.data.TransactionId;
 import org.eclipse.osee.framework.core.data.TransactionToken;
@@ -40,7 +40,7 @@
 /**
  * @author Donald G. Dunne
  */
-public class ArtifactEvent implements FrameworkEvent, HasNetworkSender, HasBranch {
+public class ArtifactEvent implements FrameworkEvent, HasNetworkSender, HasBranchId {
 
    public static enum ArtifactEventType {
       RELOAD_ARTIFACTS,
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/httpRequests/CreateBranchHttpRequestOperation.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/httpRequests/CreateBranchHttpRequestOperation.java
index ba58801..858a133 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/httpRequests/CreateBranchHttpRequestOperation.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/httpRequests/CreateBranchHttpRequestOperation.java
@@ -88,7 +88,7 @@
 
    private BranchToken getBranchWithCacheWorkAround(BranchId branch) {
       // use this work around because some places assume branch will be cached such as getBranchesByName
-      return BranchManager.getBranch(branch);
+      return BranchManager.getBranchToken(branch);
    }
 
    public BranchToken getNewBranch() {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/operations/RoughToRealArtifactOperation.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/operations/RoughToRealArtifactOperation.java
index df43b0d..0101559 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/operations/RoughToRealArtifactOperation.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/operations/RoughToRealArtifactOperation.java
@@ -28,6 +28,7 @@
 import org.eclipse.osee.framework.core.util.OsgiUtil;
 import org.eclipse.osee.framework.logging.OseeLog;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.artifact.BranchManager;
 import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
 import org.eclipse.osee.framework.skynet.core.importing.RoughArtifact;
 import org.eclipse.osee.framework.skynet.core.importing.RoughRelation;
@@ -113,7 +114,8 @@
          return realArtifact;
       }
 
-      realArtifact = artifactResolver.resolve(roughArtifact, transaction.getBranch(), realParent, destinationArtifact);
+      realArtifact = artifactResolver.resolve(roughArtifact, BranchManager.getBranchToken(transaction.getBranch()),
+         realParent, destinationArtifact);
       unmatchedArtifacts.remove(realArtifact);
 
       for (RoughArtifact childRoughArtifact : roughArtifact.getDescendants()) {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/AttributeBasedArtifactResolver.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/AttributeBasedArtifactResolver.java
index f2ea190..67b9fa304 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/AttributeBasedArtifactResolver.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/AttributeBasedArtifactResolver.java
@@ -21,7 +21,7 @@
 import java.util.logging.Level;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.AttributeTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.logging.OseeLog;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.framework.skynet.core.importing.RoughArtifact;
@@ -73,7 +73,7 @@
    }
 
    @Override
-   public Artifact resolve(RoughArtifact roughArtifact, BranchId branch, Artifact realParent, Artifact root) {
+   public Artifact resolve(RoughArtifact roughArtifact, BranchToken branch, Artifact realParent, Artifact root) {
       Artifact realArtifact = null;
       RoughArtifact roughParent = roughArtifact.getRoughParent();
 
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/DoorsBestFitArtifactResolver.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/DoorsBestFitArtifactResolver.java
index 0fbbbe9..eacb895 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/DoorsBestFitArtifactResolver.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/DoorsBestFitArtifactResolver.java
@@ -17,7 +17,7 @@
 import java.util.List;
 import java.util.logging.Level;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
 import org.eclipse.osee.framework.jdk.core.util.Strings;
 import org.eclipse.osee.framework.logging.OseeLog;
@@ -37,7 +37,7 @@
    }
 
    @Override
-   public Artifact resolve(RoughArtifact roughArtifact, BranchId branch, Artifact realParent, Artifact root) {
+   public Artifact resolve(RoughArtifact roughArtifact, BranchToken branch, Artifact realParent, Artifact root) {
       Artifact realArtifact = null;
 
       if (roughArtifact.getGuid() != null) {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/DropTargetAttributeBasedResolver.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/DropTargetAttributeBasedResolver.java
index aad20e5..030bcbb 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/DropTargetAttributeBasedResolver.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/DropTargetAttributeBasedResolver.java
@@ -18,7 +18,7 @@
 import java.util.regex.Pattern;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.AttributeTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.framework.skynet.core.importing.RoughArtifact;
 
@@ -37,7 +37,7 @@
    }
 
    @Override
-   public Artifact resolve(RoughArtifact roughArtifact, BranchId branch, Artifact realParent, Artifact root) {
+   public Artifact resolve(RoughArtifact roughArtifact, BranchToken branch, Artifact realParent, Artifact root) {
 
       oseeFileMatcher.reset(roughArtifact.getName());
       if (oseeFileMatcher.find()) {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/GuidBasedArtifactResolver.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/GuidBasedArtifactResolver.java
index a3ef97d..6b37244 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/GuidBasedArtifactResolver.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/GuidBasedArtifactResolver.java
@@ -16,7 +16,7 @@
 import java.util.List;
 import java.util.logging.Level;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.logging.OseeLog;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.framework.skynet.core.importing.RoughArtifact;
@@ -40,7 +40,7 @@
    }
 
    @Override
-   public Artifact resolve(RoughArtifact roughArtifact, BranchId branch, Artifact realParent, Artifact root) {
+   public Artifact resolve(RoughArtifact roughArtifact, BranchToken branch, Artifact realParent, Artifact root) {
       List<Artifact> descendants = root.getDescendants();
       Artifact realArtifact = null;
 
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/IArtifactImportResolver.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/IArtifactImportResolver.java
index 1733fb3..869a2f1 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/IArtifactImportResolver.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/IArtifactImportResolver.java
@@ -13,16 +13,16 @@
 
 package org.eclipse.osee.framework.skynet.core.importing.resolvers;
 
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.framework.skynet.core.importing.RoughArtifact;
 
 /**
  * Used during imports that ask for artifact re-use to resolve the Artifact to be used for a particular RoughArtifact
- * 
+ *
  * @author Robert A. Fisher
  */
 public interface IArtifactImportResolver {
 
-   public Artifact resolve(RoughArtifact roughArtifact, BranchId branch, Artifact realParent, Artifact root);
+   public Artifact resolve(RoughArtifact roughArtifact, BranchToken branch, Artifact realParent, Artifact root);
 }
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/NewArtifactImportResolver.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/NewArtifactImportResolver.java
index d626689..19bbafe 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/NewArtifactImportResolver.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/importing/resolvers/NewArtifactImportResolver.java
@@ -16,7 +16,7 @@
 import java.util.logging.Level;
 import org.eclipse.osee.framework.core.data.ArtifactTypeId;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.logging.OseeLog;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
@@ -45,7 +45,7 @@
    }
 
    @Override
-   public Artifact resolve(final RoughArtifact roughArtifact, final BranchId branch, Artifact realParent, Artifact root) {
+   public Artifact resolve(final RoughArtifact roughArtifact, final BranchToken branch, Artifact realParent, Artifact root) {
       ArtifactTypeToken artifactType = getArtifactType(roughArtifact);
 
       OseeLog.logf(NewArtifactImportResolver.class, Level.INFO, "New artifact: [%s]. Attributes: [%s]", roughArtifact,
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationLink.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationLink.java
index 7f4a702..e4b26ca 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationLink.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationLink.java
@@ -22,7 +22,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.BranchId;
 import org.eclipse.osee.framework.core.data.GammaId;
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 import org.eclipse.osee.framework.core.data.IRelationLink;
 import org.eclipse.osee.framework.core.data.RelationId;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
@@ -45,7 +45,7 @@
  * @author Jeff C. Phillips
  * @author Ryan D. Brooks
  */
-public class RelationLink implements HasBranch, IRelationLink {
+public class RelationLink implements HasBranchId, IRelationLink {
    private long relationId;
    private GammaId gammaId;
    private String rationale;
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/CsvArtifact.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/CsvArtifact.java
index 8d9d6a6..ba68226 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/CsvArtifact.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/CsvArtifact.java
@@ -15,7 +15,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
 import org.eclipse.osee.framework.core.exception.ArtifactDoesNotExist;
@@ -67,7 +67,7 @@
    /**
     * Creates a new un-persisted CsvArtifact
     */
-   public static CsvArtifact generateCsvArtifact(String staticId, String artifactName, String csvData, BranchId branch) {
+   public static CsvArtifact generateCsvArtifact(String staticId, String artifactName, String csvData, BranchToken branch) {
       Artifact artifact = ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralDocument, branch);
       artifact.setName(artifactName);
       artifact.setSoleAttributeValue(CoreAttributeTypes.Extension, "csv");
@@ -76,7 +76,7 @@
       return new CsvArtifact(artifact);
    }
 
-   public static CsvArtifact getCsvArtifact(String staticId, BranchId branch, boolean create) {
+   public static CsvArtifact getCsvArtifact(String staticId, BranchToken branch, boolean create) {
       Artifact art = null;
       try {
          art = ArtifactQuery.getArtifactFromTypeAndAttribute(CoreArtifactTypes.GeneralDocument,
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactDragDropSupport.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactDragDropSupport.java
index 15d1ed8..4909c2b 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactDragDropSupport.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ArtifactDragDropSupport.java
@@ -21,7 +21,7 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.jface.window.Window;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
 import org.eclipse.osee.framework.core.enums.RelationSide;
@@ -194,7 +194,7 @@
 
    public static Artifact getArtifactFromWorkspaceFile(String location, Shell shell) {
       Artifact artifact = null;
-      BranchId branch = BranchSelectionDialog.getBranchFromUser();
+      BranchToken branch = BranchSelectionDialog.getBranchFromUser();
       if (branch != null) {
          try {
             artifact = ArtifactQuery.getArtifactFromAttribute(CoreAttributeTypes.ContentUrl, location, branch);
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateArtifactWithIdBlam.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateArtifactWithIdBlam.java
index 9ec46bf..e7528da 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateArtifactWithIdBlam.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/operation/CreateArtifactWithIdBlam.java
@@ -17,7 +17,7 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken;
 import org.eclipse.osee.framework.core.enums.CoreUserGroups;
 import org.eclipse.osee.framework.core.model.Branch;
@@ -50,7 +50,7 @@
          AWorkbench.popup("Must enter Artifact Type");
          return;
       }
-      BranchId branch = variableMap.getBranch("Branch");
+      BranchToken branch = BranchManager.getBranchToken(variableMap.getBranch("Branch"));
       Long artId = null;
       if (branch == null) {
          AWorkbench.popup("Must enter Branch");
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/BranchSelectComposite.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/BranchSelectComposite.java
index fbc7bea..ec74fbe 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/BranchSelectComposite.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/BranchSelectComposite.java
@@ -17,7 +17,7 @@
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
 import org.eclipse.osee.framework.logging.OseeLevel;
 import org.eclipse.osee.framework.logging.OseeLog;
@@ -41,7 +41,7 @@
 
    private Button branchSelectButton;
    private Text branchSelectTextWidget;
-   private BranchId selectedBranch;
+   private BranchToken selectedBranch;
    private final Set<Listener> listeners;
    private final boolean allowOnlyWorkingBranches;
 
@@ -110,7 +110,7 @@
       });
    }
 
-   public BranchId getSelectedBranch() {
+   public BranchToken getSelectedBranch() {
       return selectedBranch;
    }
 
@@ -121,12 +121,12 @@
    private void handleSelectedBranch(Event event) {
       if (event.widget == branchSelectButton || event.widget == branchSelectTextWidget && branchSelectTextWidget.getDoubleClickEnabled()) {
          if (areOnlyWorkingBranchesAllowed()) {
-            BranchId newBranch = BranchSelectionDialog.getWorkingBranchFromUser();
+            BranchToken newBranch = BranchSelectionDialog.getWorkingBranchFromUser();
             if (newBranch != null) {
                setSelected(newBranch);
             }
          } else {
-            BranchId newBranch = BranchSelectionDialog.getBranchFromUser();
+            BranchToken newBranch = BranchSelectionDialog.getBranchFromUser();
             if (newBranch != null) {
                setSelected(newBranch);
             }
@@ -134,7 +134,7 @@
       }
    }
 
-   public void setSelected(BranchId branch) {
+   public void setSelected(BranchToken branch) {
       selectedBranch = branch;
       if (branch.isInvalid()) {
          branchSelectTextWidget.setText(" -- Select A Branch -- ");
@@ -166,7 +166,7 @@
    /**
     * @param defaultSelectedBranch the defaultSelectedBranch to set
     */
-   public void setDefaultSelectedBranch(BranchId defaultSelectedBranch) {
+   public void setDefaultSelectedBranch(BranchToken defaultSelectedBranch) {
       setSelected(defaultSelectedBranch);
    }
 
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/BranchSelectionDialog.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/BranchSelectionDialog.java
index d42f164..4e6f1b1 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/BranchSelectionDialog.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/branch/BranchSelectionDialog.java
@@ -22,6 +22,7 @@
 import org.eclipse.jface.window.Window;
 import org.eclipse.nebula.widgets.xviewer.XViewer;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
 import org.eclipse.osee.framework.skynet.core.artifact.BranchManager;
 import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchOptionsEnum;
@@ -50,9 +51,9 @@
  */
 public class BranchSelectionDialog extends MessageDialog implements IBranchWidgetMenuListener {
 
-   private BranchId selected;
-   private BranchId defaultSelected;
-   private static BranchId lastSelectedBranch;
+   private BranchToken selected;
+   private BranchToken defaultSelected;
+   private static BranchToken lastSelectedBranch;
    private XBranchWidget branchWidget;
    private boolean allowOnlyWorkingBranches;
    private final Collection<? extends BranchId> branches;
@@ -70,11 +71,11 @@
       setShellStyle(getShellStyle() | SWT.RESIZE);
    }
 
-   public void setDefaultSelection(BranchId branch) {
+   public void setDefaultSelection(BranchToken branch) {
       defaultSelected = branch;
    }
 
-   public BranchId getSelection() {
+   public BranchToken getSelection() {
       return selected;
    }
 
@@ -158,7 +159,7 @@
    }
 
    private void storeSelectedBranch() {
-      List<BranchId> branches = branchWidget.getSelectedBranches();
+      List<BranchToken> branches = branchWidget.getSelectedBranches();
 
       if (!branches.isEmpty()) {
          selected = branches.iterator().next();
@@ -172,8 +173,8 @@
       okPressed();
    }
 
-   private static BranchId createDialog(boolean allowOnlyWorkingBranches) {
-      BranchId toReturn = null;
+   private static BranchToken createDialog(boolean allowOnlyWorkingBranches) {
+      BranchToken toReturn = null;
       BranchSelectionDialog branchSelection = new BranchSelectionDialog("Select Branch", allowOnlyWorkingBranches);
       if (lastSelectedBranch != null) {
          try {
@@ -191,11 +192,11 @@
       return toReturn;
    }
 
-   public static BranchId getBranchFromUser() {
+   public static BranchToken getBranchFromUser() {
       return createDialog(false);
    }
 
-   public static BranchId getWorkingBranchFromUser() {
+   public static BranchToken getWorkingBranchFromUser() {
       return createDialog(true);
    }
 }
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/change/view/ChangeReportTable.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/change/view/ChangeReportTable.java
index b0b4f4c..657a987 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/change/view/ChangeReportTable.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/change/view/ChangeReportTable.java
@@ -173,7 +173,7 @@
          } else if (!changeData.getChanges().isEmpty()) {
             BranchId branchId = changeData.getChanges().iterator().next().getBranch();
             if (branchId != null) {
-               BranchToken branch = BranchManager.getBranch(branchId);
+               BranchToken branch = BranchManager.getBranchToken(branchId);
                return String.format("Table Report - Change Report - %s", branch.getName());
             }
          }
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorer.java
index 3a4c2db..c7ed736 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorer.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorer.java
@@ -94,7 +94,7 @@
    private Artifact explorerRoot;
    private TreeEditor myTreeEditor;
    private XBranchSelectWidget branchSelect;
-   private BranchId branch = BranchId.SENTINEL;
+   private BranchToken branch = BranchToken.SENTINEL;
    private IGlobalMenuHelper globalMenuHelper;
 
    private ArtifactExplorerDragAndDrop dragAndDropWorker;
@@ -157,7 +157,7 @@
                @Override
                public void handleEvent(Event event) {
                   try {
-                     BranchId selectedBranch = branchSelect.getData();
+                     BranchToken selectedBranch = branchSelect.getData();
                      if (selectedBranch != null && !BranchId.SENTINEL.equals(selectedBranch)) {
                         branch = selectedBranch;
                         dragAndDropWorker.updateBranch(branch);
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerToolbar.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerToolbar.java
index 85e8609..d5f5436 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerToolbar.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/ArtifactExplorerToolbar.java
@@ -23,7 +23,7 @@
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.window.Window;
 import org.eclipse.osee.framework.access.AccessControlManager;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
 import org.eclipse.osee.framework.jdk.core.util.GUID;
 import org.eclipse.osee.framework.logging.OseeLevel;
@@ -31,6 +31,7 @@
 import org.eclipse.osee.framework.plugin.core.util.Jobs;
 import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.artifact.BranchManager;
 import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
 import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
 import org.eclipse.osee.framework.ui.skynet.access.AccessControlService;
@@ -158,7 +159,7 @@
                            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(
                               QuickSearchView.VIEW_ID);
                         if (viewPart != null) {
-                           BranchId branch = artifactExplorer.getBranch();
+                           BranchToken branch = BranchManager.getBranchToken(artifactExplorer.getBranch());
                            if (branch != null) {
                               ((QuickSearchView) viewPart).setBranch(branch);
                            }
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/CreateRelatedMenuItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/CreateRelatedMenuItem.java
index cfcada1..c39f699 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/CreateRelatedMenuItem.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/explorer/menu/CreateRelatedMenuItem.java
@@ -24,7 +24,7 @@
 import org.eclipse.osee.framework.core.OrcsTokenService;
 import org.eclipse.osee.framework.core.access.PermissionStatus;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationTypeSide;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
 import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
@@ -36,6 +36,7 @@
 import org.eclipse.osee.framework.skynet.core.AccessPolicy;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
+import org.eclipse.osee.framework.skynet.core.artifact.BranchManager;
 import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
 import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager;
 import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
@@ -156,7 +157,7 @@
    private void handleCreateRelated(Artifact existingArtifact, RelationTypeToken relationType, RelationTypeSide relationTypeSide, RelationSide relationSide) {
       // get valid artifact types for this relation
       List<ArtifactTypeToken> artifactTypes = new ArrayList<>();
-      BranchId branch = artifactExplorer.getBranch();
+      BranchToken branch = BranchManager.getBranchToken(artifactExplorer.getBranch());
       for (ArtifactTypeToken artifactType : tokenService.getConcreteArtifactTypes()) {
          if (relationType.isArtifactTypeAllowed(relationSide,
             artifactType) && ArtifactTypeManager.isUserCreationAllowed(artifactType)) {
@@ -188,7 +189,7 @@
       }
    }
 
-   private void createRelatedArtifact(Artifact existingArtifact, RelationTypeSide relationTypeSide, BranchId branch, ArtifactTypeToken type, String name) {
+   private void createRelatedArtifact(Artifact existingArtifact, RelationTypeSide relationTypeSide, BranchToken branch, ArtifactTypeToken type, String name) {
       SkynetTransaction transaction = TransactionManager.createTransaction(branch,
          String.format("Created new %s \"%s\" in artifact explorer", type.getName(), name));
       Artifact newArtifact = ArtifactTypeManager.addArtifact(type, branch, name);
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/group/GroupExplorer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/group/GroupExplorer.java
index 38988d0..7ffa075 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/group/GroupExplorer.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/group/GroupExplorer.java
@@ -27,6 +27,7 @@
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
 import org.eclipse.osee.framework.logging.OseeLevel;
@@ -82,7 +83,7 @@
    private Collection<GroupExplorerItem> selected;
    private Object[] expanded = new Object[] {};
    private XBranchSelectWidget branchSelect;
-   private BranchId branch;
+   private BranchToken branch;
    private GroupExplorerDragAndDrop groupExpDnd;
 
    private NeedProjectMenuListener needProjectListener;
@@ -468,7 +469,7 @@
          if (memento != null) {
             memento = memento.getChild(INPUT);
             if (memento != null) {
-               branch = BranchId.valueOf(memento.getString(BRANCH_ID));
+               branch = BranchManager.getBranchToken(BranchId.valueOf(memento.getString(BRANCH_ID)));
                if (BranchManager.getState(branch).isDeleted() || BranchManager.isArchived(branch)) {
                   branch = null;
                }
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/relation/explorer/RelationExplorerWindow.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/relation/explorer/RelationExplorerWindow.java
index dd5da72..29fc907 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/relation/explorer/RelationExplorerWindow.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/relation/explorer/RelationExplorerWindow.java
@@ -16,7 +16,7 @@
 import java.util.ArrayList;
 import org.eclipse.jface.viewers.StructuredViewer;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
@@ -57,7 +57,7 @@
    private final ArrayList<Artifact> validArtifacts;
    private final ArrayList<String> urls;
    private final ArrayList<String> names;
-   private BranchId branch;
+   private BranchToken branch;
 
    // Private arrays for invalid drops
    private final ArrayList<String> invalidName;
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/QuickSearchView.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/QuickSearchView.java
index b5fc830..554443c 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/QuickSearchView.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/search/QuickSearchView.java
@@ -27,6 +27,7 @@
 import org.eclipse.osee.framework.access.AccessControlManager;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.DeletionFlag;
 import org.eclipse.osee.framework.core.enums.PermissionEnum;
 import org.eclipse.osee.framework.help.ui.OseeHelpContext;
@@ -272,7 +273,7 @@
       }
    }
 
-   public void setBranch(BranchId branch) {
+   public void setBranch(BranchToken branch) {
       if (branchSelect != null) {
          branchSelect.setSelection(branch);
          // branch has been selected; allow user to set up search string
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/update/InterArtifactExplorerDropHandlerOperation.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/update/InterArtifactExplorerDropHandlerOperation.java
index c0e6b3c..5d19111 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/update/InterArtifactExplorerDropHandlerOperation.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/update/InterArtifactExplorerDropHandlerOperation.java
@@ -22,6 +22,7 @@
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.osee.framework.access.AccessControlManager;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.DeletionFlag;
 import org.eclipse.osee.framework.core.enums.PermissionEnum;
 import org.eclipse.osee.framework.core.operation.AbstractOperation;
@@ -66,7 +67,7 @@
          throw new OseeArgumentException("Invalid arguments");
       }
       BranchId sourceBranch = sourceArtifacts.iterator().next().getBranchToken();
-      final BranchId destinationBranch = destinationParentArtifact.getBranchToken();
+      final BranchToken destinationBranch = destinationParentArtifact.getBranchToken();
 
       if (isUpdateFromParent(sourceBranch, destinationBranch)) {
          Displays.ensureInDisplayThread(new Runnable() {
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XBranchSelectWidget.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XBranchSelectWidget.java
index 9ffe20c..61440fc 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XBranchSelectWidget.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XBranchSelectWidget.java
@@ -18,6 +18,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.jdk.core.util.Strings;
 import org.eclipse.osee.framework.skynet.core.artifact.BranchManager;
 import org.eclipse.osee.framework.ui.skynet.branch.BranchSelectComposite;
@@ -41,7 +42,7 @@
 
    protected BranchSelectComposite selectComposite;
    private Composite composite;
-   private BranchId defaultBranch;
+   private BranchToken defaultBranch;
 
    private final List<Listener> listeners = new ArrayList<>();
 
@@ -113,11 +114,11 @@
    }
 
    @Override
-   public BranchId getData() {
+   public BranchToken getData() {
       return getSelection();
    }
 
-   public BranchId getSelection() {
+   public BranchToken getSelection() {
       return selectComposite.getSelectedBranch();
    }
 
@@ -195,7 +196,7 @@
       }
    }
 
-   public void setSelection(BranchId branch) {
+   public void setSelection(BranchToken branch) {
       defaultBranch = branch;
       if (selectComposite != null) {
          selectComposite.setSelected(branch);
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XBranchSelectWidgetWithSave.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XBranchSelectWidgetWithSave.java
index 51a5c37..9957ac4 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XBranchSelectWidgetWithSave.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XBranchSelectWidgetWithSave.java
@@ -17,7 +17,7 @@
 import java.util.Collection;
 import java.util.List;
 import org.eclipse.osee.framework.core.data.AttributeTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.util.Result;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
 import org.eclipse.osee.framework.jdk.core.util.Collections;
@@ -36,7 +36,7 @@
       addXModifiedListener(new DirtyListener());
    }
 
-   public List<BranchId> getStored() {
+   public List<BranchToken> getStored() {
       return artifact.getAttributeValues(attributeType);
    }
 
@@ -59,8 +59,8 @@
    public Result isDirty() {
       if (isEditable()) {
          try {
-            Collection<BranchId> storedValues = getStored();
-            Collection<BranchId> widgetInput = Arrays.asList(getSelection());
+            Collection<BranchToken> storedValues = getStored();
+            Collection<BranchToken> widgetInput = Arrays.asList(getSelection());
             if (!Collections.isEqual(widgetInput, storedValues)) {
                return new Result(true, getAttributeType() + " is dirty");
             }
@@ -80,7 +80,7 @@
    public void setAttributeType(Artifact artifact, AttributeTypeToken attributeType) {
       this.artifact = artifact;
       this.attributeType = attributeType;
-      List<BranchId> storedBranchReference = getStored();
+      List<BranchToken> storedBranchReference = getStored();
       if (!storedBranchReference.isEmpty()) {
          setSelection(storedBranchReference.get(0));
       }
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/BranchXViewer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/BranchXViewer.java
index 2399e32..332ed8c 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/BranchXViewer.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/BranchXViewer.java
@@ -19,7 +19,6 @@
 import org.eclipse.nebula.widgets.xviewer.XViewer;
 import org.eclipse.nebula.widgets.xviewer.XViewerTextFilter;
 import org.eclipse.osee.framework.access.AccessControlManager;
-import org.eclipse.osee.framework.core.data.BranchId;
 import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreBranches;
 import org.eclipse.osee.framework.core.enums.PermissionEnum;
@@ -56,9 +55,9 @@
    @Override
    public void handleDoubleClick() {
       XResultData rd = new XResultData();
-      ArrayList<BranchId> branches = xBranchViewer.getSelectedBranches();
+      ArrayList<BranchToken> branches = xBranchViewer.getSelectedBranches();
       if (branches != null && !branches.isEmpty()) {
-         for (BranchId branch : branches) {
+         for (BranchToken branch : branches) {
             boolean hasPermission = AccessControlManager.hasPermission(branch, PermissionEnum.READ);
             if (hasPermission) {
                if (branch.notEqual(CoreBranches.SYSTEM_ROOT)) {
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchWidget.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchWidget.java
index ed48914..e7012bf 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchWidget.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/XBranchWidget.java
@@ -351,8 +351,8 @@
       }
    }
 
-   public ArrayList<BranchId> getSelectedBranches() {
-      ArrayList<BranchId> items = new ArrayList<>();
+   public ArrayList<BranchToken> getSelectedBranches() {
+      ArrayList<BranchToken> items = new ArrayList<>();
       if (branchXViewer == null || branchXViewer.getSelection().isEmpty()) {
          return items;
       }
@@ -360,8 +360,8 @@
       while (i.hasNext()) {
          Object obj = i.next();
 
-         if (obj instanceof BranchId) {
-            items.add((BranchId) obj);
+         if (obj instanceof BranchToken) {
+            items.add((BranchToken) obj);
          }
       }
       return items;
@@ -499,7 +499,7 @@
    @Override
    public String getEditorTitle() {
       if (selectedBranch != null) {
-         BranchToken branch = BranchManager.getBranch(selectedBranch);
+         BranchToken branch = BranchManager.getBranchToken(selectedBranch);
          return String.format("Table Report - Branch View %s", branch.getName());
       }
       return "Table Report - Branch View";
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/actions/SetAsFavoriteAction.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/actions/SetAsFavoriteAction.java
index 0f7cfe0..67ecc6b 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/actions/SetAsFavoriteAction.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xBranch/actions/SetAsFavoriteAction.java
@@ -19,6 +19,7 @@
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
 import org.eclipse.osee.framework.logging.OseeLog;
 import org.eclipse.osee.framework.skynet.core.User;
@@ -56,7 +57,7 @@
             AWorkbench.popup("Can not set favorite as system user");
             return;
          }
-         List<BranchId> branches = xBranchViewer.getSelectedBranches();
+         List<BranchToken> branches = xBranchViewer.getSelectedBranches();
          if (branches.isEmpty()) {
             AWorkbench.popup("Must select branches");
             return;
diff --git a/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/attribute/ArtifactTest.java b/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/attribute/ArtifactTest.java
index 3a4d325..80473be 100644
--- a/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/attribute/ArtifactTest.java
+++ b/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/attribute/ArtifactTest.java
@@ -102,6 +102,9 @@
 
       when(artifactData.getGuid()).thenReturn(guid);
       when(artifactData.getVersion()).thenReturn(version);
+      when(version.getBranch()).thenReturn(branch);
+      when(branch.getId()).thenReturn(24234L);
+      when(branch.getName()).thenReturn("branch");
       when(artifactData.getType()).thenReturn(artifactType);
       when(artifactData.getLocalId()).thenReturn(0);
 
diff --git a/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/relation/impl/RelationNodeLoaderImplTest.java b/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/relation/impl/RelationNodeLoaderImplTest.java
index 3be5b13..f70e8fe 100644
--- a/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/relation/impl/RelationNodeLoaderImplTest.java
+++ b/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/relation/impl/RelationNodeLoaderImplTest.java
@@ -19,7 +19,7 @@
 import static org.mockito.MockitoAnnotations.initMocks;
 import java.util.Arrays;
 import java.util.Collection;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.TransactionId;
 import org.eclipse.osee.framework.core.enums.CoreBranches;
 import org.eclipse.osee.framework.core.enums.LoadLevel;
@@ -56,7 +56,7 @@
    @Mock private Artifact artifact;
    // @formatter:on
 
-   private static final BranchId BRANCH = CoreBranches.COMMON;
+   private static final BranchToken BRANCH = CoreBranches.COMMON;
    private static final TransactionId TRANSACTION_ID = TransactionId.valueOf(231214214);
    private static final Collection<Integer> ids = Arrays.asList(4, 5, 6, 7);
 
diff --git a/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/transaction/TransactionFactoryImplTest.java b/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/transaction/TransactionFactoryImplTest.java
index 81a0a59..4b6deb9 100644
--- a/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/transaction/TransactionFactoryImplTest.java
+++ b/plugins/org.eclipse.osee.orcs.core.test/src/org/eclipse/osee/orcs/core/internal/transaction/TransactionFactoryImplTest.java
@@ -17,7 +17,7 @@
 import static org.junit.Assert.assertNotNull;
 import static org.mockito.Mockito.when;
 import static org.mockito.MockitoAnnotations.initMocks;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.UserId;
 import org.eclipse.osee.framework.core.enums.CoreBranches;
 import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException;
@@ -61,7 +61,7 @@
    @Mock private BranchQuery branchQuery;
    // @formatter:on
 
-   private final BranchId expectedBranch = CoreBranches.COMMON;
+   private final BranchToken expectedBranch = CoreBranches.COMMON;
    private TransactionFactoryImpl factory;
 
    @Before
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/ArtifactDataImpl.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/ArtifactDataImpl.java
index bda40bc..8ca7fde 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/ArtifactDataImpl.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/ArtifactDataImpl.java
@@ -14,7 +14,7 @@
 package org.eclipse.osee.orcs.core.ds;
 
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.RelationalConstants;
 
 /**
@@ -76,7 +76,7 @@
    }
 
    @Override
-   public BranchId getBranch() {
-      return getVersion().getBranch();
+   public BranchToken getBranch() {
+      return BranchToken.create(getVersion().getBranch(), "unknown");
    }
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/LoadDescription.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/LoadDescription.java
index 5307f7d..185da16 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/LoadDescription.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/LoadDescription.java
@@ -13,14 +13,14 @@
 
 package org.eclipse.osee.orcs.core.ds;
 
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 import org.eclipse.osee.orcs.data.HasSession;
 import org.eclipse.osee.orcs.data.HasTransaction;
 
 /**
  * @author Roberto E. Escobar
  */
-public interface LoadDescription extends HasOptions, HasSession, HasTransaction, HasBranch {
+public interface LoadDescription extends HasOptions, HasSession, HasTransaction, HasBranchId {
 
    boolean isMultiBranch();
 
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/QueryData.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/QueryData.java
index 506b34c..6a339e2 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/QueryData.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/QueryData.java
@@ -36,7 +36,7 @@
 import org.eclipse.osee.framework.core.data.AttributeTypeJoin;
 import org.eclipse.osee.framework.core.data.AttributeTypeToken;
 import org.eclipse.osee.framework.core.data.BranchId;
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 import org.eclipse.osee.framework.core.data.RelationTypeSide;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
 import org.eclipse.osee.framework.core.data.TransactionId;
@@ -76,7 +76,7 @@
  * @author Roberto E. Escobar
  * @author Ryan D. Brooks
  */
-public final class QueryData implements QueryBuilder, HasOptions, HasBranch {
+public final class QueryData implements QueryBuilder, HasOptions, HasBranchId {
    private final List<List<Criteria>> criterias;
    private final SelectData selectData;
    private final Options options;
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupImpl.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupImpl.java
index 198b3c8..c440390 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupImpl.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserGroupImpl.java
@@ -18,7 +18,7 @@
 import java.util.List;
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.IRelationLink;
 import org.eclipse.osee.framework.core.data.IUserGroupArtifactToken;
 import org.eclipse.osee.framework.core.data.UserGroupArtifactToken;
@@ -115,7 +115,7 @@
    }
 
    @Override
-   public BranchId getBranch() {
+   public BranchToken getBranch() {
       return getArtifact().getBranch();
    }
 }
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/artifact/ArtifactImpl.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/artifact/ArtifactImpl.java
index b3c0ce3..aa74d93 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/artifact/ArtifactImpl.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/artifact/ArtifactImpl.java
@@ -18,7 +18,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.AttributeTypeId;
 import org.eclipse.osee.framework.core.data.AttributeTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.TransactionId;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
 import org.eclipse.osee.framework.core.enums.DeletionFlag;
@@ -95,8 +95,8 @@
    }
 
    @Override
-   public BranchId getBranch() {
-      return artifactData.getVersion().getBranch();
+   public BranchToken getBranch() {
+      return BranchToken.create(artifactData.getVersion().getBranch(), "unknown");
    }
 
    @Override
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/graph/GraphData.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/graph/GraphData.java
index edc8f37..9d76a4b 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/graph/GraphData.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/graph/GraphData.java
@@ -14,14 +14,14 @@
 package org.eclipse.osee.orcs.core.internal.graph;
 
 import org.eclipse.osee.framework.core.data.ArtifactId;
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 import org.eclipse.osee.orcs.OrcsSession;
 import org.eclipse.osee.orcs.data.HasTransaction;
 
 /**
  * @author Roberto E. Escobar
  */
-public interface GraphData extends HasBranch, HasTransaction {
+public interface GraphData extends HasBranchId, HasTransaction {
 
    <T extends GraphNode> T getNode(ArtifactId data);
 
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/proxy/impl/ArtifactReadOnlyImpl.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/proxy/impl/ArtifactReadOnlyImpl.java
index 355a255..10affd4 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/proxy/impl/ArtifactReadOnlyImpl.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/proxy/impl/ArtifactReadOnlyImpl.java
@@ -25,7 +25,7 @@
 import org.eclipse.osee.framework.core.data.AttributeId;
 import org.eclipse.osee.framework.core.data.AttributeTypeId;
 import org.eclipse.osee.framework.core.data.AttributeTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.IRelationLink;
 import org.eclipse.osee.framework.core.data.RelationTypeSide;
 import org.eclipse.osee.framework.core.data.RelationTypeToken;
@@ -89,7 +89,7 @@
    }
 
    @Override
-   public BranchId getBranch() {
+   public BranchToken getBranch() {
       return getProxiedObject().getBranch();
    }
 
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/transaction/TxData.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/transaction/TxData.java
index a41fdea..515fdcc 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/transaction/TxData.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/transaction/TxData.java
@@ -21,7 +21,7 @@
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.BranchId;
 import org.eclipse.osee.framework.core.data.GammaId;
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 import org.eclipse.osee.framework.core.data.UserId;
 import org.eclipse.osee.framework.core.enums.SqlTable;
 import org.eclipse.osee.framework.jdk.core.type.HashCollection;
@@ -37,7 +37,7 @@
  * @author Roberto E. Escobar
  * @author Megumi Telles
  */
-public class TxData implements HasSession, HasBranch {
+public class TxData implements HasSession, HasBranchId {
 
    public static enum TxState {
       NEW_TX,
diff --git a/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/internal/loader/DataFactoryImplTest.java b/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/internal/loader/DataFactoryImplTest.java
index 8c32fd3..893deda 100644
--- a/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/internal/loader/DataFactoryImplTest.java
+++ b/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/internal/loader/DataFactoryImplTest.java
@@ -29,7 +29,7 @@
 import org.eclipse.osee.framework.core.OrcsTokenService;
 import org.eclipse.osee.framework.core.data.ArtifactId;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.GammaId;
 import org.eclipse.osee.framework.core.data.RelationalConstants;
 import org.eclipse.osee.framework.core.data.TransactionId;
@@ -65,7 +65,7 @@
  * @author Roberto E. Escobar
  */
 public class DataFactoryImplTest {
-   private static final BranchId BRANCH = CoreBranches.SYSTEM_ROOT;
+   private static final BranchToken BRANCH = CoreBranches.SYSTEM_ROOT;
    private static final TransactionId tx333 = TransactionId.valueOf(333);
    private static final TransactionId tx444 = TransactionId.valueOf(444);
    private static final GammaId gamma222 = GammaId.valueOf(222);
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/loader/LoadSqlContext.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/loader/LoadSqlContext.java
index e266cda..b1c7f3c 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/loader/LoadSqlContext.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/loader/LoadSqlContext.java
@@ -14,7 +14,7 @@
 package org.eclipse.osee.orcs.db.internal.loader;
 
 import org.eclipse.osee.framework.core.data.BranchId;
-import org.eclipse.osee.framework.core.data.HasBranch;
+import org.eclipse.osee.framework.core.data.HasBranchId;
 import org.eclipse.osee.orcs.OrcsSession;
 import org.eclipse.osee.orcs.core.ds.LoadContext;
 import org.eclipse.osee.orcs.core.ds.Options;
@@ -23,7 +23,7 @@
 /**
  * @author Roberto E. Escobar
  */
-public class LoadSqlContext extends SqlContextImpl implements LoadContext, HasBranch {
+public class LoadSqlContext extends SqlContextImpl implements LoadContext, HasBranchId {
 
    private final BranchId branch;
 
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/search/engines/QueryEngineImpl.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/search/engines/QueryEngineImpl.java
index d773ce2..829c695 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/search/engines/QueryEngineImpl.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/search/engines/QueryEngineImpl.java
@@ -29,6 +29,7 @@
 import org.eclipse.osee.framework.core.data.AttributeTypeGeneric;
 import org.eclipse.osee.framework.core.data.AttributeTypeToken;
 import org.eclipse.osee.framework.core.data.Branch;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.TransactionId;
 import org.eclipse.osee.framework.core.enums.LoadLevel;
 import org.eclipse.osee.framework.core.enums.ModificationType;
@@ -224,8 +225,8 @@
       ModificationType modType = ModificationType.valueOf(stmt.getInt("mod_type"));
       ArtifactTypeToken artifactType = tokenService.getArtifactTypeOrCreate(artifactTypeId);
       ApplicabilityId applic = ApplicabilityId.valueOf(stmt.getLong("app_id"));
-      return new ArtifactReadableImpl(artId, artifactType, queryData.getBranch(), queryData.getView(), applic, txId,
-         modType, queryFactory);
+      return new ArtifactReadableImpl(artId, artifactType, BranchToken.create(queryData.getBranch(), "unknown"),
+         queryData.getView(), applic, txId, modType, queryFactory);
    }
 
    @Override
diff --git a/plugins/org.eclipse.osee.orcs.rest.model/src/org/eclipse/osee/orcs/rest/model/writer/reader/OwArtifactToken.java b/plugins/org.eclipse.osee.orcs.rest.model/src/org/eclipse/osee/orcs/rest/model/writer/reader/OwArtifactToken.java
index 8b5ec7d..145f265 100644
--- a/plugins/org.eclipse.osee.orcs.rest.model/src/org/eclipse/osee/orcs/rest/model/writer/reader/OwArtifactToken.java
+++ b/plugins/org.eclipse.osee.orcs.rest.model/src/org/eclipse/osee/orcs/rest/model/writer/reader/OwArtifactToken.java
@@ -15,7 +15,7 @@
 
 import org.eclipse.osee.framework.core.data.ArtifactToken;
 import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.jdk.core.type.Id;
 
 /**
@@ -40,7 +40,7 @@
    }
 
    @Override
-   public BranchId getBranch() {
+   public BranchToken getBranch() {
       return null;
    }
 
diff --git a/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/data/ArtifactReadableImpl.java b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/data/ArtifactReadableImpl.java
index 4c5b188..3ede5d7 100644
--- a/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/data/ArtifactReadableImpl.java
+++ b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/data/ArtifactReadableImpl.java
@@ -26,7 +26,7 @@
 import org.eclipse.osee.framework.core.data.AttributeId;
 import org.eclipse.osee.framework.core.data.AttributeTypeGeneric;
 import org.eclipse.osee.framework.core.data.AttributeTypeToken;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.IAttribute;
 import org.eclipse.osee.framework.core.data.IRelationLink;
 import org.eclipse.osee.framework.core.data.RelationTypeSide;
@@ -54,14 +54,14 @@
    private final HashCollection<RelationTypeToken, ArtifactReadable> relationsSideA = new HashCollection<>();
    private final HashCollection<RelationTypeToken, ArtifactReadable> relationsSideB = new HashCollection<>();
    private final ArtifactTypeToken artifactType;
-   private final BranchId branch;
+   private final BranchToken branch;
    private final ArtifactId view;
    private final QueryFactory queryFactory;
    private final ApplicabilityId applicability;
    private final TransactionId txId;
    private final ModificationType modType;
 
-   public ArtifactReadableImpl(Long id, ArtifactTypeToken artifactType, BranchId branch, ArtifactId view, ApplicabilityId applicability, TransactionId txId, ModificationType modType, QueryFactory queryFactory) {
+   public ArtifactReadableImpl(Long id, ArtifactTypeToken artifactType, BranchToken branch, ArtifactId view, ApplicabilityId applicability, TransactionId txId, ModificationType modType, QueryFactory queryFactory) {
       super(id);
       this.artifactType = artifactType;
       this.branch = branch;
@@ -81,7 +81,7 @@
    }
 
    @Override
-   public BranchId getBranch() {
+   public BranchToken getBranch() {
       return branch;
    }
 
diff --git a/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/data/TransactionReadable.java b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/data/TransactionReadable.java
index c40e165..e0d6047 100644
--- a/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/data/TransactionReadable.java
+++ b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/data/TransactionReadable.java
@@ -15,7 +15,7 @@
 
 import java.util.Date;
 import org.eclipse.osee.framework.core.data.ArtifactId;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.TransactionToken;
 import org.eclipse.osee.framework.core.data.UserId;
 import org.eclipse.osee.framework.core.enums.TransactionDetailsType;
@@ -74,7 +74,7 @@
          }
 
          @Override
-         public BranchId getBranch() {
+         public BranchToken getBranch() {
             return null;
          }
       }
diff --git a/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/artifacts/ArtifactTestRunOperator.java b/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/artifacts/ArtifactTestRunOperator.java
index 74038d1..aa5fd9a 100644
--- a/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/artifacts/ArtifactTestRunOperator.java
+++ b/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/artifacts/ArtifactTestRunOperator.java
@@ -18,7 +18,7 @@
 import java.util.Date;
 import java.util.List;
 import org.eclipse.osee.framework.core.data.AttributeTypeId;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
 import org.eclipse.osee.framework.core.enums.OteArtifactTypes;
@@ -63,7 +63,7 @@
       }
    }
 
-   public static ArtifactTestRunOperator getNewArtifactWithOperator(BranchId branch) {
+   public static ArtifactTestRunOperator getNewArtifactWithOperator(BranchToken branch) {
       return new ArtifactTestRunOperator(TEST_RUN_ARTIFACT_FETCHER.getNewArtifact(branch));
    }
 
diff --git a/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/artifacts/OteArtifactFetcher.java b/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/artifacts/OteArtifactFetcher.java
index 727de90..4531f38 100644
--- a/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/artifacts/OteArtifactFetcher.java
+++ b/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/artifacts/OteArtifactFetcher.java
@@ -19,9 +19,10 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.logging.Level;
+import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
 import org.eclipse.osee.framework.core.data.AttributeTypeId;
 import org.eclipse.osee.framework.core.data.BranchId;
-import org.eclipse.osee.framework.core.data.ArtifactTypeToken;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
 import org.eclipse.osee.framework.jdk.core.util.Conditions;
@@ -45,7 +46,7 @@
     * Creates a new Artifact in the specified branch
     */
    @SuppressWarnings("unchecked")
-   public T getNewArtifact(BranchId branch) {
+   public T getNewArtifact(BranchToken branch) {
       checkForNull(branch);
       return (T) ArtifactTypeManager.addArtifact(oteArtifactType, branch);
    }
diff --git a/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/jobs/OutfileToArtifactJob.java b/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/jobs/OutfileToArtifactJob.java
index cc38b1f..b541c0f 100644
--- a/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/jobs/OutfileToArtifactJob.java
+++ b/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/jobs/OutfileToArtifactJob.java
@@ -18,7 +18,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.ote.define.internal.Activator;
 import org.eclipse.osee.ote.define.operations.LinkTestRunToTestScriptOperation;
@@ -33,9 +33,9 @@
    private final URI[] filesToImport;
    private Artifact[] results;
    private URI[] filesWithErrors;
-   private final BranchId branch;
+   private final BranchToken branch;
 
-   public OutfileToArtifactJob(BranchId branch, URI... filesToImport) {
+   public OutfileToArtifactJob(BranchToken branch, URI... filesToImport) {
       super(JOB_NAME);
       setUser(true);
       setPriority(Job.LONG);
diff --git a/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/operations/ImportOutfileOperation.java b/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/operations/ImportOutfileOperation.java
index d19d0ea..fb85a94 100644
--- a/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/operations/ImportOutfileOperation.java
+++ b/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/operations/ImportOutfileOperation.java
@@ -40,9 +40,9 @@
 public class ImportOutfileOperation {
 
    private final URI[] fileSystemObjects;
-   private final BranchId selectedBranch;
+   private final BranchToken selectedBranch;
 
-   public ImportOutfileOperation(BranchId selectedBranch, URI... fileSystemObjects) {
+   public ImportOutfileOperation(BranchToken selectedBranch, URI... fileSystemObjects) {
       checkForNull(selectedBranch);
       checkForNull(fileSystemObjects);
       checkForEmpty(fileSystemObjects);
diff --git a/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/operations/OutfileToArtifactOperation.java b/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/operations/OutfileToArtifactOperation.java
index 5c88b96..9f05f3a 100644
--- a/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/operations/OutfileToArtifactOperation.java
+++ b/plugins/org.eclipse.osee.ote.define/src/org/eclipse/osee/ote/define/operations/OutfileToArtifactOperation.java
@@ -21,7 +21,7 @@
 import java.util.List;
 import java.util.concurrent.Callable;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
 import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
 import org.eclipse.osee.framework.core.threading.ThreadedWorkerExecutor;
@@ -39,12 +39,12 @@
  * @author Roberto E. Escobar
  */
 public class OutfileToArtifactOperation {
-   private final BranchId branch;
+   private final BranchToken branch;
    private final List<URI> filesToImport;
    private final List<Artifact> results;
    private final List<URI> filesWithErrors;
 
-   public OutfileToArtifactOperation(BranchId branch, URI... filesToImport) {
+   public OutfileToArtifactOperation(BranchToken branch, URI... filesToImport) {
       this.branch = branch;
       this.filesToImport = Arrays.asList(filesToImport);
       this.results = new ArrayList<>();
diff --git a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/dialogs/BranchComboDialog.java b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/dialogs/BranchComboDialog.java
index f9e2bd7..5a12127 100644
--- a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/dialogs/BranchComboDialog.java
+++ b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/dialogs/BranchComboDialog.java
@@ -23,6 +23,7 @@
 import org.eclipse.jface.dialogs.TitleAreaDialog;
 import org.eclipse.jface.window.Window;
 import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.data.TestRunStorageKey;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
 import org.eclipse.osee.framework.logging.OseeLog;
@@ -80,7 +81,7 @@
       return toReturn;
    }
 
-   public BranchId getSelection() {
+   public BranchToken getSelection() {
       return branchSelectComposite.getSelectedBranch();
    }
 
@@ -147,8 +148,8 @@
       }
    }
 
-   public static BranchId getBranchFromUser() {
-      BranchId toReturn = BranchId.SENTINEL;
+   public static BranchToken getBranchFromUser() {
+      BranchToken toReturn = BranchToken.SENTINEL;
       BranchComboDialog branchSelection = new BranchComboDialog(AWorkbench.getActiveShell());
       int result = branchSelection.open();
       if (result == Window.OK) {
diff --git a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/importer/ImportOutfileUIOperation.java b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/importer/ImportOutfileUIOperation.java
index de382df..d6bccab 100644
--- a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/importer/ImportOutfileUIOperation.java
+++ b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/importer/ImportOutfileUIOperation.java
@@ -19,7 +19,7 @@
 import org.eclipse.core.runtime.jobs.IJobChangeEvent;
 import org.eclipse.core.runtime.jobs.JobChangeAdapter;
 import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
 import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
 import org.eclipse.osee.framework.ui.swt.Displays;
@@ -36,9 +36,9 @@
 public class ImportOutfileUIOperation {
 
    private final URI[] fileSystemObjects;
-   private final BranchId selectedBranch;
+   private final BranchToken selectedBranch;
 
-   public ImportOutfileUIOperation(BranchId selectedBranch, URI... fileSystemObjects) {
+   public ImportOutfileUIOperation(BranchToken selectedBranch, URI... fileSystemObjects) {
       this.fileSystemObjects = fileSystemObjects;
       this.selectedBranch = selectedBranch;
    }
diff --git a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/DragDropHandler.java b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/DragDropHandler.java
index 1a4a06d..c48bde1 100644
--- a/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/DragDropHandler.java
+++ b/plugins/org.eclipse.osee.ote.ui.define/src/org/eclipse/osee/ote/ui/define/viewers/DragDropHandler.java
@@ -30,7 +30,7 @@
 import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.data.BranchToken;
 import org.eclipse.osee.framework.core.enums.OteArtifactTypes;
 import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
 import org.eclipse.osee.framework.logging.OseeLog;
@@ -184,7 +184,7 @@
    }
 
    private void handleResourceDrops(URI[] iFiles) {
-      BranchId branch = BranchComboDialog.getBranchFromUser();
+      BranchToken branch = BranchComboDialog.getBranchFromUser();
       if (branch.isValid()) {
          OutfileToArtifactJob artifactJob = new OutfileToArtifactJob(branch, iFiles);
          artifactJob.addJobChangeListener(new JobChangeAdapter() {