code: function deserialize(plain) {
          plain = plain || {};
          plain.location = plain.location || "";
          plain.description = plain.description || "";
          switch (plain.type) {
              case 'LineBookmark':
                  if (!isFinite(plain.line)) break;
                  return new LineBookmark(plain.location, plain.line, plain.description);
  
              case 'LineBreakpoint':
                  if (!isFinite(plain.line)) break;
                  return new LineBreakpoint(plain.location, plain.line, plain.description, !!plain.enabled);
  
              case 'LineConditionalBreakpoint':
                  if (!isFinite(plain.line)) break;
                  if (!plain.condition) break;
                  return new LineConditionalBreakpoint(plain.location, plain.line, plain.description, plain.condition, !!plain.enabled);
  
              case 'FunctionBreakpoint':
                  if (!plain.function) break;
                  return new FunctionBreakpoint(plain.location, plain.function, plain.description, !!plain.enabled);
  
              case 'ExceptionBreakpoint':
                  if (!plain.label) break;
                  return new ExceptionBreakpoint(plain.label, plain.description, !!plain.enabled);
          }
          return null;
      }
docs: Deserialize a breakpoint from a plain object
  @param {Object}
  @return {orion.debug.IBreakpoint}