@Override
  public LayoutPrototype getLayoutPrototype(long layoutPrototypeId)
      throws PortalException, SystemException {

    LayoutPrototypePermissionUtil.check(getPermissionChecker(), layoutPrototypeId, ActionKeys.VIEW);

    return layoutPrototypeLocalService.getLayoutPrototype(layoutPrototypeId);
  }
  @Override
  public void deleteLayoutPrototype(long layoutPrototypeId)
      throws PortalException, SystemException {

    LayoutPrototypePermissionUtil.check(
        getPermissionChecker(), layoutPrototypeId, ActionKeys.DELETE);

    layoutPrototypeLocalService.deleteLayoutPrototype(layoutPrototypeId);
  }
  /**
   * @deprecated As of 6.2.0, replaced by {@link #updateLayoutPrototype(long, Map, String, boolean,
   *     ServiceContext)}
   */
  @Deprecated
  @Override
  public LayoutPrototype updateLayoutPrototype(
      long layoutPrototypeId, Map<Locale, String> nameMap, String description, boolean active)
      throws PortalException, SystemException {

    LayoutPrototypePermissionUtil.check(
        getPermissionChecker(), layoutPrototypeId, ActionKeys.UPDATE);

    return layoutPrototypeLocalService.updateLayoutPrototype(
        layoutPrototypeId, nameMap, description, active);
  }
  @Override
  public List<LayoutPrototype> search(long companyId, Boolean active, OrderByComparator obc)
      throws PortalException, SystemException {

    List<LayoutPrototype> filteredLayoutPrototypes = new ArrayList<LayoutPrototype>();

    List<LayoutPrototype> layoutPrototypes =
        layoutPrototypeLocalService.search(
            companyId, active, QueryUtil.ALL_POS, QueryUtil.ALL_POS, obc);

    for (LayoutPrototype layoutPrototype : layoutPrototypes) {
      if (LayoutPrototypePermissionUtil.contains(
          getPermissionChecker(), layoutPrototype.getLayoutPrototypeId(), ActionKeys.VIEW)) {

        filteredLayoutPrototypes.add(layoutPrototype);
      }
    }

    return filteredLayoutPrototypes;
  }