@Override
  public void preSolve(Contact contact, Manifold oldManifold) {
    super.preSolve(contact, oldManifold);

    Fixture fixtureA = contact.getFixtureA();
    Fixture fixtureB = contact.getFixtureB();

    if (fixtureA != m_platform && fixtureA != m_character) {
      return;
    }

    if (fixtureB != m_character && fixtureB != m_character) {
      return;
    }

    Vec2 position = m_character.getBody().getPosition();

    if (position.y < m_top + m_radius - 3.0f * Settings.linearSlop) {
      contact.setEnabled(false);
    }
  }