public static void updatePackageJar(PackageVersion version) { InvocationContext context = InvocationContext.get(); DataStore store = context.getDataStore(); int actualId = UploadingPackage.getActualId(); // Getting all members of this package except UploadedPackageMember List<Instance> instances = store.getAllPackageMembers(actualId); // Load all UploadedPackageMembers Set<Long> existedMembers = store.getUploadedComponentIds(actualId, context.getOrganizationId()); // Newly added members List<Instance> notExisted = instances .stream() .filter(i -> !existedMembers.contains(i.getId())) .collect(Collectors.toList()); List<UploadedPackageMember> newMembers = createUploadPackageMembers(notExisted, version); context.getDatabase().upsert(newMembers, DMLOperationType.THROW_ERRORS); prepareJAR(version, instances); prepatePackageData(version, instances); store.updateInstalledPackageLastUpdate(version.getId()); }