class OCompositeKey implements Comparable<OCompositeKey>, Serializable {

  @Override
  public boolean equals(final Object o) {
    if (this == o)
      return true;
    if (o == null || getClass() != o.getClass())
      return false;

    final OCompositeKey that = (OCompositeKey) o;

    return keys.equals(that.keys);
  }

  public  OCompositeKey(final List<?> keys);
  public  OCompositeKey(final Object... keys);
  public  OCompositeKey();

}