@Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (!(o instanceof ParameterizedTypeImpl)) return false;

    ParameterizedTypeImpl that = (ParameterizedTypeImpl)o;

    if (!Arrays.equals(myArguments, that.myArguments)) return false;
    if (!myRawType.equals(that.myRawType)) return false;

    return true;
  }
@Override
  public boolean equals(Object o)