jodd-petite/src/main/java/jodd/petite/def/BeanReferences.java
public BeanReferences removeDuplicateNames() {
		if (names.length < 2) {
			return this;
		}

		int nullCount = 0;

		for (int i = 1; i < names.length; i++) {
			String thisRef = names[i];

			if (thisRef == null) {
				nullCount++;
				continue;
			}

			for (int j = 0; j < i; j++) {
				if (names[j] == null) {
					continue;
				}
				if (thisRef.equals(names[j])) {
					names[i] = null;
					break;
				}
			}
		}

		if (nullCount == 0) {
			return this;
		}

		String[] newRefs = new String[names.length - nullCount];
		int ndx = 0;

		for (String name : names) {
			if (name == null) {
				continue;
			}
			newRefs[ndx] = name;
			ndx++;
		}

		return new BeanReferences(newRefs);
	}
public BeanReferences removeDuplicateNames() {
		if (names.length < 2) {
			return this;
		}

		int nullCount = 0;

		for (int i = 1; i < names.length; i++) {
			String thisRef = names[i];

			if (thisRef == null) {
				nullCount++;
				continue;
			}

			for (int j = 0; j < i; j++) {
				if (names[j] == null) {
					continue;
				}
				if (thisRef.equals(names[j])) {
					names[i] = null;
					break;
				}
			}
		}

		if (nullCount == 0) {
			return this;
		}

		String[] newRefs = new String[names.length - nullCount];
		int ndx = 0;

		for (String name : names) {
			if (name == null) {
				continue;
			}
			newRefs[ndx] = name;
			ndx++;
		}

		return new BeanReferences(newRefs);
	}
Removes later duplicated references in an array.
Returns new instance of BeanReferences if there was changes,
otherwise returns the same instance.