@Override
      public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        TypeParameterSubstitution that = (TypeParameterSubstitution)o;
        return myTypeParameter.equals(that.myTypeParameter) && myDesiredType.equals(that.myDesiredType);
      }
@Override
      public boolean equals(Object o)