protected void upDown(List<? extends PsiType> lowerBounds,
                        Collection<? extends PsiType> changedLowerBounds,
                        List<? extends PsiType> upperBounds,
                        Collection<? extends PsiType> changedUpperBounds) {
    if (changedLowerBounds != null) {
      upDown(changedLowerBounds, upperBounds);
    }
    if (changedUpperBounds != null) {
      upDown(lowerBounds, changedUpperBounds);
    }
  }
protected void upDown(List<? extends PsiType> lowerBounds,
                        Collection<? extends PsiType> changedLowerBounds,
                        List<? extends PsiType> upperBounds,
                        Collection<? extends PsiType> changedUpperBounds)