private boolean processor(List ori, List newList, List nullLevelHandle, boolean doChange) throws SemanticException { boolean isLevelRemoved = false; for (int i = nullLevelHandle.size() - 1; i >= 0; i--) { int index = ((Integer) nullLevelHandle.get(i)).intValue(); if (doChange) { viewHandle.removeLevel(index); } isLevelRemoved = true; } for (int i = 0; i < ori.size(); i++) { LevelHandle tempHandle = (LevelHandle) ori.get(i); if (!newList.contains(tempHandle)) { if (doChange) { viewHandle.removeLevel(tempHandle.getQualifiedName()); } isLevelRemoved = true; } } Collections.sort(newList, new LevelComparator()); if (doChange) { for (int i = 0; i < newList.size(); i++) { LevelHandle tempHandle = (LevelHandle) newList.get(i); if (viewHandle.getLevel(tempHandle.getQualifiedName()) == null) { insertLevelHandle(tempHandle, i); } } } return isLevelRemoved; }