@@ -0,0 +1,1999 @@
+/*%0D%0A * Licensed to the Apache Software Foundation (ASF) under one%0D%0A * or more contributor license agreements.  See the NOTICE file%0D%0A * distributed with this work for additional information%0D%0A * regarding copyright ownership.  The ASF licenses this file%0D%0A * to you under the Apache License, Version 2.0 (the%0D%0A * %22License%22); you may not use this file except in compliance%0D%0A * with the License.  You may obtain a copy of the License at%0D%0A * %0D%0A *   http://www.apache.org/licenses/LICENSE-2.0%0D%0A * %0D%0A * Unless required by applicable law or agreed to in writing,%0D%0A * software distributed under the License is distributed on an%0D%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0D%0A * KIND, either express or implied.  See the License for the%0D%0A * specific language governing permissions and limitations%0D%0A * under the License.%0D%0A */%0D%0Apackage org.apache.uima.internal.util;%0D%0A%0D%0A/**%0D%0A * like Entry%3Ck, v%3E except the k is an int. %0D%0A *%0D%0A * @param %3CT%3E the type of the value%0D%0A */%0D%0Apublic class IntEntry%3CT%3E %7B%0D%0A  private int i;%0D%0A  private T v;%0D%0A  IntEntry(int i, T v) %7B%0D%0A    this.i = i;%0D%0A    this.v = v;%0D%0A  %7D%0D%0A  %0D%0A  public int getKey() %7B%0D%0A    return i;%0D%0A  %7D%0D%0A  %0D%0A  public T getValue() %7B%0D%0A    return v;%0D%0A  %7D%0D%0A%0D%0A  /* (non-Javadoc)%0D%0A   * @see java.lang.Object#hashCode()%0D%0A   */%0D%0A  @Override%0D%0A  public int hashCode() %7B%0D%0A    final int prime = 31;%0D%0A    int result = 1;%0D%0A    result = prime * result + i;%0D%0A    result = prime * result + ((v == null) ? 0 : v.hashCode());%0D%0A    return result;%0D%0A  %7D%0D%0A%0D%0A  /* (non-Javadoc)%0D%0A   * @see java.lang.Object#equals(java.lang.Object)%0D%0A   */%0D%0A  @Override%0D%0A  public boolean equals(Object obj) %7B%0D%0A    if (this == obj)%0D%0A      return true;%0D%0A    if (obj == null)%0D%0A      return false;%0D%0A    if (getClass() != obj.getClass())%0D%0A      return false;%0D%0A    IntEntry other = (IntEntry) obj;%0D%0A    if (i != other.i)%0D%0A      return false;%0D%0A    if (v == null) %7B%0D%0A      if (other.v != null)%0D%0A        return false;%0D%0A    %7D else if (!v.equals(other.v))%0D%0A      return false;%0D%0A    return true;%0D%0A  %7D%0D%0A%0D%0A  %0D%0A  %0D%0A%7D%0D%0A

upgrade to allow int hash maps to return iterators over entries