System.arraycopy(clazzes, 0, copy, 0, clazzes.length);
for (int i = clazzes.length - 1; i >= 0; i--) copy[i] = clazzes[i].intern();
	public org.osgi.framework.ServiceRegistration registerService(String[] clazzes, Object service, Dictionary properties) {		checkValid();		if (service == null) {			if (Debug.DEBUG && Debug.DEBUG_SERVICES) {				Debug.println("Service object is null"); //$NON-NLS-1$			}			throw new NullPointerException(Msg.SERVICE_ARGUMENT_NULL_EXCEPTION); 		}		int size = clazzes.length;		if (size == 0) {			if (Debug.DEBUG && Debug.DEBUG_SERVICES) {				Debug.println("Classes array is empty"); //$NON-NLS-1$			}			throw new IllegalArgumentException(Msg.SERVICE_EMPTY_CLASS_LIST_EXCEPTION); 		}		/* copy the array so that changes to the original will not affect us. */		String[] copy = new String[clazzes.length];		System.arraycopy(clazzes, 0, copy, 0, clazzes.length);		clazzes = copy;		/* check for ServicePermissions. */		framework.checkRegisterServicePermission(clazzes);		if (!(service instanceof ServiceFactory)) {			String invalidService = checkServiceClass(clazzes, service);			if (invalidService != null) {				if (Debug.DEBUG && Debug.DEBUG_SERVICES) {					Debug.println("Service object is not an instanceof " + invalidService); //$NON-NLS-1$				}				throw new IllegalArgumentException(NLS.bind(Msg.SERVICE_NOT_INSTANCEOF_CLASS_EXCEPTION, invalidService)); 			}		}		return (createServiceRegistration(clazzes, service, properties));	}