protected static DbgpBreakpointConfig createBreakpointConfig(IScriptBreakpoint breakpoint)
      throws CoreException {
    // Enabled
    boolean enabled = breakpoint.isEnabled() && getBreakpointManager().isEnabled();

    DbgpBreakpointConfig config = new DbgpBreakpointConfig(enabled);

    // Hit value
    config.setHitValue(breakpoint.getHitValue());

    // Hit condition
    config.setHitCondition(breakpoint.getHitCondition());

    // Expression
    if (breakpoint.getExpressionState()) {
      config.setExpression(breakpoint.getExpression());
    }

    if (breakpoint instanceof IScriptLineBreakpoint
        && !(breakpoint instanceof IScriptMethodEntryBreakpoint)) {
      IScriptLineBreakpoint lineBreakpoint = (IScriptLineBreakpoint) breakpoint;
      config.setLineNo(lineBreakpoint.getLineNumber());
    }
    return config;
  }