Assert.isTrue(namespaceOwnerId == addContribution.namespaceOwnerId);
Assert.isTrue(contributorId == addContribution.contributorId);
	void mergeContribution(Contribution addContribution) {		Assert.isTrue(namespaceOwnerId == addContribution.namespaceOwnerId);		Assert.isTrue(registry == addContribution.registry);				// isDynamic?		// Old New Result		// F   F   F		// F   T   F		// T   F   F	=> the only situation where isDynamic status needs to be adjusted 		// T   T   T		if (isDynamic() && !addContribution.isDynamic())			isDynamic = false;		int[] existing = getRawChildren();		int[] addition = addContribution.getRawChildren();		int extensionPoints = existing[EXTENSION_POINT] + addition[EXTENSION_POINT];		int extensions = existing[EXTENSION] + addition[EXTENSION];		int[] allChildren = new int[2 + extensionPoints + extensions];		allChildren[EXTENSION_POINT] = extensionPoints;		System.arraycopy(existing, 2, allChildren, 2, existing[EXTENSION_POINT]);		System.arraycopy(addition, 2, allChildren, 2 + existing[EXTENSION_POINT], addition[EXTENSION_POINT]);		allChildren[EXTENSION] = extensions;		System.arraycopy(existing, 2 + existing[EXTENSION_POINT], allChildren, 2 + extensionPoints, existing[EXTENSION]);		System.arraycopy(addition, 2 + addition[EXTENSION_POINT], allChildren, 2 + extensionPoints + existing[EXTENSION], addition[EXTENSION]);		children = allChildren;	}