// Path: src/main/java/io/usethesource/criterion/api/JmhValue.java
// @CompilerControl(Mode.DONT_INLINE)
// public interface JmhValue {
// 
//   /**
//    * Removes the JmhValue delegation object to reveal its internal representation.
//    *
//    * @return internal representation
//    */
//   Object unwrap();
// 
// }


import io.usethesource.criterion.api.JmhValue;
/**
 * Copyright (c) Michael Steindorfer <Centrum Wiskunde & Informatica> and Contributors.
 * All rights reserved.
 *
 * This file is licensed under the BSD 2-Clause License, which accompanies this project
 * and is available under https://opensource.org/licenses/BSD-2-Clause.
 */
package io.usethesource.criterion;


public enum ElementProducer {

  PDB_INTEGER {
    @Override
    public JmhValue createFromInt(int value) {
      return new PureIntegerWithCustomHashCode(value);
    }
  },
  PURE_INTEGER {
    @Override
// Path: src/main/java/io/usethesource/criterion/api/JmhValue.java
// @CompilerControl(Mode.DONT_INLINE)
// public interface JmhValue {
// 
//   /**
//    * Removes the JmhValue delegation object to reveal its internal representation.
//    *
//    * @return internal representation
//    */
//   Object unwrap();
// 
// }


// Path: src/main/java/io/usethesource/criterion/ElementProducer.java
import io.usethesource.criterion.api.JmhValue;

/**
 * Copyright (c) Michael Steindorfer <Centrum Wiskunde & Informatica> and Contributors.
 * All rights reserved.
 *
 * This file is licensed under the BSD 2-Clause License, which accompanies this project
 * and is available under https://opensource.org/licenses/BSD-2-Clause.
 */
package io.usethesource.criterion;


public enum ElementProducer {

  PDB_INTEGER {
    @Override
    public JmhValue createFromInt(int value) {
      return new PureIntegerWithCustomHashCode(value);
    }
  },
  PURE_INTEGER {
    @Override
    public JmhValue createFromInt(int value) {